Converting Visual Basic 6 to Visual Basic .NET

Hi, I found this program that would get the mac address of a computer given its IP. I converted it into vb.net and it gave 2 errors. It said that I couldn't use "any" in declarations, so I found out what variable it was tryign to pass and changed the any to that data type. Now, the program will start in vb.net... but when I click the button, it returns the wrong mac address, while the one in vb6 returned the correct one.
All you have to do is add 2 textboxes to the form and 1 button, dont change their names.
::::::::::VB6 CODE::::::::::

Option Explicit

Private Const NO_ERROR = 0

Private Declare Function inet_addr Lib "wsock32.dll" _
  (ByVal s As String) As Long

Private Declare Function SendARP Lib "iphlpapi.dll" _
  (ByVal DestIP As Long, ByVal SrcIP As Long, pMacAddr As Long, PhyAddrLen As Long) As Long

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dst As Any, src As Any, ByVal bcount As Long)
  


Private Sub Form_Load()

   Text1.Text = "192.168.1.101"
   Text2.Text = ""
   Command1.Caption = "Get Remote Mac Address"
  
End Sub


Private Sub Command1_Click()

   Dim sRemoteMacAddress As String
  
   If Len(Text1.Text) > 0 Then
  
      If GetRemoteMACAddress(Text1.Text, sRemoteMacAddress) Then
         Text2.Text = sRemoteMacAddress
      Else
         Text2.Text = "(SendARP call failed)"
      End If
    
   End If

End Sub


Private Function GetRemoteMACAddress(ByVal sRemoteIP As String, _
                                     sRemoteMacAddress As String) As Boolean

   Dim dwRemoteIP As Long
   Dim pMacAddr As Long
   Dim bpMacAddr() As Byte
   Dim PhyAddrLen As Long
   Dim cnt As Long
   Dim tmp As String
  
  'convert the string IP into
  'an unsigned long value containing
  'a suitable binary representation
  'of the Internet address given
   dwRemoteIP = inet_addr(sRemoteIP)
  
   If dwRemoteIP <> 0 Then
  
     'set PhyAddrLen to 6
      PhyAddrLen = 6
  
     'retrieve the remote MAC address
      If SendARP(dwRemoteIP, 0&, pMacAddr, PhyAddrLen) = NO_ERROR Then
    
         If pMacAddr <> 0 And PhyAddrLen <> 0 Then
    
           'returned value is a long pointer
           'to the mac address, so copy data
           'to a byte array
            ReDim bpMacAddr(0 To PhyAddrLen - 1)
            CopyMemory bpMacAddr(0), pMacAddr, ByVal PhyAddrLen
        
           'loop through array to build string
            For cnt = 0 To PhyAddrLen - 1
              
               If bpMacAddr(cnt) = 0 Then
                  tmp = tmp & "00-"
               Else
                  tmp = tmp & Hex$(bpMacAddr(cnt)) & "-"
               End If
        
            Next
          
           'remove the trailing dash
           'added above and return True
            If Len(tmp) > 0 Then
               sRemoteMacAddress = Left$(tmp, Len(tmp) - 1)
               GetRemoteMACAddress = True
            End If

            Exit Function
        
         Else
            GetRemoteMACAddress = False
         End If
          
      Else
         GetRemoteMACAddress = False
      End If  'SendARP
    
   Else
      GetRemoteMACAddress = False
   End If  'dwRemoteIP
    
End Function


::::::::::VB.NET Code::::::::::

Option Strict Off
Option Explicit On
Imports VB = Microsoft.VisualBasic
Friend Class Form1
    Inherits System.Windows.Forms.Form
#Region "Windows Form Designer generated code "
    Public Sub New()
        MyBase.New()
        If m_vb6FormDefInstance Is Nothing Then
            If m_InitializingDefInstance Then
                m_vb6FormDefInstance = Me
            Else
                Try
                    'For the start-up form, the first instance created is the default instance.
                    If System.Reflection.Assembly.GetExecutingAssembly.EntryPoint.DeclaringType Is Me.GetType Then
                        m_vb6FormDefInstance = Me
                    End If
                Catch
                End Try
            End If
        End If
        'This call is required by the Windows Form Designer.
        InitializeComponent()
    End Sub
    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal Disposing As Boolean)
        If Disposing Then
            If Not components Is Nothing Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(Disposing)
    End Sub
    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer
    Public ToolTip1 As System.Windows.Forms.ToolTip
    Public WithEvents Command1 As System.Windows.Forms.Button
    Public WithEvents Text2 As System.Windows.Forms.TextBox
    Public WithEvents Text1 As System.Windows.Forms.TextBox
    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
        Me.components = New System.ComponentModel.Container()
        Me.ToolTip1 = New System.Windows.Forms.ToolTip(components)
        Me.ToolTip1.Active = True
        Me.Command1 = New System.Windows.Forms.Button
        Me.Text2 = New System.Windows.Forms.TextBox
        Me.Text1 = New System.Windows.Forms.TextBox
        Me.Text = "Form1"
        Me.ClientSize = New System.Drawing.Size(312, 206)
        Me.Location = New System.Drawing.Point(4, 30)
        Me.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultLocation
        Me.Font = New System.Drawing.Font("Arial", 8!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.BackColor = System.Drawing.SystemColors.Control
        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable
        Me.ControlBox = True
        Me.Enabled = True
        Me.KeyPreview = False
        Me.MaximizeBox = True
        Me.MinimizeBox = True
        Me.Cursor = System.Windows.Forms.Cursors.Default
        Me.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.ShowInTaskbar = True
        Me.HelpButton = False
        Me.WindowState = System.Windows.Forms.FormWindowState.Normal
        Me.Name = "Form1"
        Me.Command1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
        Me.Command1.Text = "Command1"
        Me.Command1.Size = New System.Drawing.Size(129, 57)
        Me.Command1.Location = New System.Drawing.Point(144, 128)
        Me.Command1.TabIndex = 2
        Me.Command1.Font = New System.Drawing.Font("Arial", 8!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Command1.BackColor = System.Drawing.SystemColors.Control
        Me.Command1.CausesValidation = True
        Me.Command1.Enabled = True
        Me.Command1.ForeColor = System.Drawing.SystemColors.ControlText
        Me.Command1.Cursor = System.Windows.Forms.Cursors.Default
        Me.Command1.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.Command1.TabStop = True
        Me.Command1.Name = "Command1"
        Me.Text2.AutoSize = False
        Me.Text2.Size = New System.Drawing.Size(225, 49)
        Me.Text2.Location = New System.Drawing.Point(40, 56)
        Me.Text2.TabIndex = 1
        Me.Text2.Text = "Text2"
        Me.Text2.Font = New System.Drawing.Font("Arial", 8!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Text2.AcceptsReturn = True
        Me.Text2.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
        Me.Text2.BackColor = System.Drawing.SystemColors.Window
        Me.Text2.CausesValidation = True
        Me.Text2.Enabled = True
        Me.Text2.ForeColor = System.Drawing.SystemColors.WindowText
        Me.Text2.HideSelection = True
        Me.Text2.ReadOnly = False
        Me.Text2.Maxlength = 0
        Me.Text2.Cursor = System.Windows.Forms.Cursors.IBeam
        Me.Text2.MultiLine = False
        Me.Text2.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.Text2.ScrollBars = System.Windows.Forms.ScrollBars.None
        Me.Text2.TabStop = True
        Me.Text2.Visible = True
        Me.Text2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
        Me.Text2.Name = "Text2"
        Me.Text1.AutoSize = False
        Me.Text1.Size = New System.Drawing.Size(225, 41)
        Me.Text1.Location = New System.Drawing.Point(40, 8)
        Me.Text1.TabIndex = 0
        Me.Text1.Text = "Text1"
        Me.Text1.Font = New System.Drawing.Font("Arial", 8!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Text1.AcceptsReturn = True
        Me.Text1.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
        Me.Text1.BackColor = System.Drawing.SystemColors.Window
        Me.Text1.CausesValidation = True
        Me.Text1.Enabled = True
        Me.Text1.ForeColor = System.Drawing.SystemColors.WindowText
        Me.Text1.HideSelection = True
        Me.Text1.ReadOnly = False
        Me.Text1.Maxlength = 0
        Me.Text1.Cursor = System.Windows.Forms.Cursors.IBeam
        Me.Text1.MultiLine = False
        Me.Text1.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.Text1.ScrollBars = System.Windows.Forms.ScrollBars.None
        Me.Text1.TabStop = True
        Me.Text1.Visible = True
        Me.Text1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
        Me.Text1.Name = "Text1"
        Me.Controls.Add(Command1)
        Me.Controls.Add(Text2)
        Me.Controls.Add(Text1)
    End Sub
#End Region
#Region "Upgrade Support "
    Private Shared m_vb6FormDefInstance As Form1
    Private Shared m_InitializingDefInstance As Boolean
    Public Shared Property DefInstance() As Form1
        Get
            If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
                m_InitializingDefInstance = True
                m_vb6FormDefInstance = New Form1()
                m_InitializingDefInstance = False
            End If
            DefInstance = m_vb6FormDefInstance
        End Get
        Set
            m_vb6FormDefInstance = Value
        End Set
    End Property
#End Region
   
    Private Const NO_ERROR As Short = 0
   
    Private Declare Function inet_addr Lib "wsock32.dll" (ByVal s As String) As Integer
   
    Private Declare Function SendARP Lib "iphlpapi.dll" (ByVal DestIP As Integer, ByVal SrcIP As Integer, ByRef pMacAddr As Integer, ByRef PhyAddrLen As Integer) As Integer
   
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByRef dst As Byte, ByRef src As Integer, ByVal bcount As Integer)
   
   
   
    Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
       
        Text1.Text = "192.168.0.103"
        Text2.Text = ""
        Command1.Text = "Get Remote Mac Address"
       
    End Sub
   
   
    Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
       
        Dim sRemoteMacAddress As String
       
        If Len(Text1.Text) > 0 Then
           
            If GetRemoteMACAddress(Text1.Text, sRemoteMacAddress) Then
                Text2.Text = sRemoteMacAddress
            Else
                Text2.Text = "(SendARP call failed)"
            End If
           
        End If
       
    End Sub
   
   
    Private Function GetRemoteMACAddress(ByVal sRemoteIP As String, ByRef sRemoteMacAddress As String) As Boolean
       
        Dim dwRemoteIP As Integer
        Dim pMacAddr As Integer
        Dim bpMacAddr() As Byte
        Dim PhyAddrLen As Integer
        Dim cnt As Integer
        Dim tmp As String
       
        'convert the string IP into
        'an unsigned long value containing
        'a suitable binary representation
        'of the Internet address given
        dwRemoteIP = inet_addr(sRemoteIP)
       
        If dwRemoteIP <> 0 Then
           
            'set PhyAddrLen to 6
            PhyAddrLen = 6
           
            'retrieve the remote MAC address
            If SendARP(dwRemoteIP, 0, pMacAddr, PhyAddrLen) = NO_ERROR Then
               
                If pMacAddr <> 0 And PhyAddrLen <> 0 Then
                   
                    'returned value is a long pointer
                    'to the mac address, so copy data
                    'to a byte array
                    ReDim bpMacAddr(PhyAddrLen - 1)
                    CopyMemory(bpMacAddr(0), pMacAddr, PhyAddrLen)
                   
                    'loop through array to build string
                    For cnt = 0 To PhyAddrLen - 1
                       
                        If bpMacAddr(cnt) = 0 Then
                            tmp = tmp & "00-"
                        Else
                            tmp = tmp & Hex(bpMacAddr(cnt)) & "-"
                        End If
                       
                    Next
                   
                    'remove the trailing dash
                    'added above and return True
                    If Len(tmp) > 0 Then
                        sRemoteMacAddress = VB.Left(tmp, Len(tmp) - 1)
                        GetRemoteMACAddress = True
                    End If
                   
                    Exit Function
                   
                Else
                    GetRemoteMACAddress = False
                End If
               
            Else
                GetRemoteMACAddress = False
            End If 'SendARP
           
        Else
            GetRemoteMACAddress = False
        End If 'dwRemoteIP
       
    End Function
End Class


When I copied the above code, I copeid everything, so if you want to test it, you have to delete all code from the form, including the code that the compiler puts in for you. Sorry, I did not notice this when I copied it.

0
sachleen
12/20/2005 12:42:16 AM
asp.net.getting-started 91979 articles. 3 followers. Follow

5 Replies
1274 Views

Similar Articles

[PageSpeed] 1

What MAC address are you trying to retrieve?  And what version of the .NET Framework?  Might check:

http://www.15seconds.com/issue/051215.htm

Jeff


Please: Don't forget to click "Mark as Answer" on the post that helped you. That way future readers will know which post solved your issue.
0
jeff
12/20/2005 3:00:22 AM
Hi, I am trying to get the computers MAC address. This would be the adapter's address. I need this inorder to use Wake On Lan so I can start up remote computers on the network.
0
sachleen
12/20/2005 3:18:04 AM

The question is whether you wated to get the local system MAC or a remote MAC.  You may need permissions for the remote MAC.  Did you look at the link?

Jeff


Please: Don't forget to click "Mark as Answer" on the post that helped you. That way future readers will know which post solved your issue.
0
jeff
12/20/2005 4:39:36 AM
Yes, I need the remote MAC and I am network administrator. I have looked at the link, and System.Net.NyetworkInformation.PhysicalAddress seems to be what I need. This only takes in byte information, so I would have to convert the IP into byte first. Thank you.
0
sachleen
12/20/2005 5:31:12 PM

did you already find the problem? you have only integer datatypes but there should be some long. the mac address is 48 bit but integer is only 32. So when ever you want a variable to contain a macaddress it should be long.

Thomas

0
t_ore
2/3/2006 1:48:03 PM
Reply:

Similar Artilces:

Visual Studio .Net? Visual Basic .Net?
Okay, I admit it -- I know nothing about .Net. I'm a Visual Basic and ASP developer. DotNetNuke is my first tentative step into the whole ".Net Thing", and I'm looking for some advice... What do I really need to be able to make some modifications, or new modules for DotNetNuke? Do I need the full, THOUSAND DOLLAR Visual Studio .Net 2003 package, or can I get away with the HUNDRED DOLLAR Visual Basic .Net Standard package?Chameleon Systems, Inc. You can use webmatrix, available here for free. One of the drawbacks of webmatrix however is that it does not support code-be...

Visual Basic.NET or Visual Studio.NET?
OK, this has probably been asked before... I'm a student looking to cut my costs, and I can do this by just purchasing Visual Basic.NET as opposed to the fully-fledged Visual Studio.NET application. Of course, I'll only be able to program in VB, but that's fine with me. I wanted to know if all of the ASP.NET specific options are available, such as using a WYSIWYG editor? I'd also like to know if VB.NET has IntelliSense, or that's a specific option only available to Visual Studio.NET users. Thanks in advance. I'd have to believe that VB.Net has intellisense. What is the price d...

Free Book
followup to grc.techtalk Free Book - Upgrading Microsoft Visual Basic 6.0 to Microsoft Visual Basic .NET http://msdn.microsoft.com/vbrun/staythepath/additionalresources/upgradingvb6/ ----------------------------------------------------------- Quote ----------------------------------------------------------- Upgrading Microsoft Visual Basic 6.0 to Microsoft Visual Basic .NET is is the complete technical guide to upgrading Visual Basic 6 applications to Visual Basic .NET, covering all upgrade topics from APIs to ZOrders. It shows how to fix upgrade issues with forms, language, data...

Visual Basic.NET or Visual Studio.NET? #2
I am currently using the Web Matrix to develop ASP.NET applications, but I am keep to upgrade to VS.NET. However, I can't justify spending $1,000 at the moment. I then found the MUCH cheaper "Visual Basic .NET 2003 Standard Edition" which is only $100. I have very little C# knowledge, and use Basic almost all the time. Would this be a good tool to use for web development? Does it support all the code behind stuff that VS users love so much? Thanks!! I use "VB.NET Standard Edition" and I'm happy with it. It has exactly the same features as Visual Studio.NET. Th...

What are the diff. visual basic 6 and vb.net ? How to convert the VB6 project to vb.net proj ?
What are the diff. visual basic 6 and vb.net ? How to convert the VB6 project to vb.net proj ? with code and interface too. There are entire forums dedicated to the differences between the two, and to convert your projects you should try the upgrade wizard in Visual Studio....

Visual Basic .NET 2003 vs Visual Studio .NET 2003
Hi, If im going to be coding my ASP.NET in just VB.NET then would I be able to go for the cheaper option of buying Visual Basic .NET 2003 ?? - Carl S Yes.Starting with ASP.NET 2.0? Look at:Programming Microsoft Web Forms My Blog Are there any limitations if I was doing my ASP.NET with VB.NET in Visual Basic .NET 2003 than if I was using the full Visual Studio .NET 2003 ?? Or are the only advantages of Visual Studio .NET 2003 in that it supports more programming languages ?? - Carl S You should check the MS Web site, but I believe that, given an edition (Standard, Professional...

Convert VBA Code to Visual Basic .NET When Migrating to Visual Studio 2005 Tools for Office
followup to grc.techtalk Convert VBA Code to Visual Basic .NET When Migrating to Visual Studio 2005 Tools for Office http://msdn.microsoft.com/office/default.aspx?pull=/library/en-us/odc_vsto2005_ta/html/OfficeVSTOLanguageMigrationFromVBA.asp ----------------------------------------------------------- Quote ----------------------------------------------------------- Dale Oberg ArtinSoft.com March 2005 Applies to: �����Microsoft�Visual�Studio�2005 �����Microsoft�Visual�Studio�2005�Tools�for�the�Microsoft�Office�System �����Microsoft�Visual�Basic�.NET �����Microsoft�Visual�...

Can I install Visual Basic 6 on my machine which has VS.NET 2003 & VS.NET 2005?
I may have a need to use Visual Basic 6 for a legacy project in the near future.  I was wondering if I can install VB6 on my machine which already has VS.NET 2003 & VS.NET 2005 installed on it? I did not know if doing so would cause issues or not so thought I would ask before just leaping and doing.   Ira Richard Smith At one time i had to install Visual Basic 6 on my machine with VS.NET 2003 and had "NO" issues. I would suggest take a backup of your machine or a restore point before you proceed. Please post your experience. I am sure some one would appreci...

ADO.NET Programming in Visual Basic .NET
Has anyone read "ADO.NET Programming in Visual Basic .NET, Second Edition" by Steve Holzner (Author), Bob Howell (Author)? I am trying to working on a project and there are a few things that I need to tie up quickly in my web forms. Is this book a good one? karls------------------------------------'Old and wrinkled is not what I expected to become when I grew up!'...

C# Visual Basic.NET JScript.NET what should I choose ?
I'm just a beginner with programing ASP.NET web sistes. Unfortunatelly I don't know any of the languages supported by ASP. (By the time I programmed in DELPHI and SQL) So I should start to learn one of the languages. Could somebody help me to choose the language I should use ? Which and why ? Thanks in advance, Gonzi Use C# or VB.NET, which ever you are comfortable with. Go here to see sample of both in use http://samples.gotdotnet.com/quickstart/aspplus Ultimately, once you get more advanced, you'll really want to become comfortable with both languages. I ...

Send an email by Visual Web Developer (Visual Basic .NET)
Hi,  WorldI'm trying send an email to confirm information completed by the user to his email , por exampleUser Name , : Jorge City: Trujillo email: camposrafael@hotmail.comI need send his username and his city to his email when I press send button in my webapplication but my problem is to setup the SMTP Server bacause I'm using the user SMTP Server , but I need use my SMTP server  , please help me...

Why Visual Studio 2005 ask me to convert a solution already got converted Somebody did the conversion of a solution from .net 1.1 to .net 2.0 by using the automatic conversion wizard of Visual Stu
Why Visual Studio 2005 ask me to convert a solution already got converted Somebody did the conversion of a solution from .net 1.1 to .net 2.0 by using the automatic conversion wizard of Visual Studio 2005. Then, he changed to another company. Now, I take over his job. Unfortunately, when I attempted to open that solution, Visual Studio 2005 prompted me the conversion wizard again to forced me to perform a conversion on the solution. Does someone know why?--Harish Patel www.MicrosoftSQLandASP.netpatelharish@gmail.com Hi, How many projects are in the solution, does it have UNLOADE...

Can I go from VS .NET 2003 to Visual Basic .NET 2003?
Hi, I just developed a commercial application using the trial version of Visual Studio .NET 2003.  My trial is about to expire.  I was hoping .NET 2.0 would be released by now, but that is obviously months away so I'm wondering if I could save a few hundred bucks by buying Visual Basic .NET 2003(around $110 i think) instead of having to buy Visual Studio .NET 2003, which I believe is up around $600 or so.   All my code is Visual Basic, so that's why I'm thinking that's all I need.  And it's mostly web development that I do if that matters.  T...

Where is Visual Basic in .NET
I have experience programming with VB and have been assigned a project that I will be creating in VB.Net. I have been given software Microsoft Visual C#.Net to develope the application. I have been told that I can write and execute VB code with this software but WHERE?  the only thing I can find is adding a VB Script page to a C# project unfortunately I am not fluent in C#.  Can I add VB.Net functionality to this software or do I need to purchase an entirely different environment say MS VisualBasic.Net? Thanks It sounds like you have been given the wrong product. ...

Web resources about - Converting Visual Basic 6 to Visual Basic .NET - asp.net.getting-started

Facebook Begins Converting Users To HTTPS
Are you willing to sacrifice a little bit of speed for a lot more safety? Facebook is asking that very question with its announcement that it ...

Facebook No Longer Converting Groups Into Pages
Back when Facebook first launched Facebook Pages, many businesses and brands who had built up substantial audiences in their Facebook Groups ...

Vert - simply converting for iPhone, iPad, and iPod touch on the iTunes App Store
Get Vert - simply converting on the App Store. See screenshots and ratings, and read customer reviews.

Converting SIM Card to Micro SIM Card - Flickr - Photo Sharing!
Place new Micro SIM into the iPhone SIM card tray

Ayaan Hirsi Ali on Converting Muslims to Christianity - YouTube
Complete video at: http://fora.tv/2010/07/29/Nomad_From_Islam_to_America_with_Ayaan_Hirsi_Ali Ayaan Hirsi Ali explains her support of missionary ...

Click go fears of converting print files
Is there a way to convert a print queue item to a .RTF or .PDF file? I like to save or email them. - The Sydney Morning Herald

Sudanese woman ordered to hang under sharia law for converting to Christianity gives birth
Khartoum, Sudan: A Christian Sudanese woman sentenced to hang for apostasy has given birth in jail, a Western diplomat said on Tuesday.

Imams warn against radicalism to Aboriginal inmates converting to Islam
The prison system has enlisted the help of ASIO to crack down on radicalisation behind bars amid revelations that Aboriginals are converting ...

Converting the world's companies one by one - The Science Show - ABC Radio National (Australian Broadcasting ...
Image: Trucks carrying logs make their way up a road in Jambi, Indonesia. A vast area of the Sumatran forest, and orangutan habitat, is being ...

Converting Churches Into Homes Is The Latest Hollywood Trend
You don't have to be a believer to be moved by the beauty of a church.

Resources last updated: 12/6/2015 2:32:35 PM