PHP Function: dec2roman()
The PHP Group have made sure to include many number conversion functions (i.e. decbin(), bin2hex(), et cetera) but they forgot to include one extremely important function (well, not that important). They forgot a decimal to Roman numeral converter! I forgive them for such an oversight, and have written a function to accomplish the conversion. Originally released in July 2002, dec2roman() has been recoded (and optimized) from it's primitive ancestor. The original code was built to compliment an outline I built.
ملخص الذكاء الاصطناعي: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.
Upload
<table cellspacing="5" width="100%" border=1>
<tr>
<td class=normal>
<div class=Heading><B>Dynamically displaying messages from newsgroups using ASP.Net</B></div><hr size=0><div><a target=_blank href='http://aspalliance.com/anoj/samples/newsreader.aspx'>See Online Demo</a></div><br>
<p><b>Summary</b> <br>
<br>
The code sample given below demonstrates how to communicate with a news server
using NNTP.</p>
<p>The sample is not a complete implementation of NNTP client, but rather a demonstratio
of how to communicate with a NNTP server via
<b>System.Net.Sockets.TcpClient </b>. For more details on NNTP communication
please refer <b>RFC0977.</b></p>
<p><b>Code</b></p>
<div style="BACKGROUND-COLOR: moccasin">
<pre>
<%@ Page Language="VB" Debug="true" %>
<%@ import Namespace="System.Net.Sockets" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim tcpClient As New System.Net.Sockets.TcpClient()
tcpClient.Connect("news.microsoft.com", 119)
Dim networkStream As NetworkStream = tcpClient.GetStream()
Dim responseArr() as string
Dim bytes(tcpClient.ReceiveBufferSize) As Byte
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
' send GROUP command to get the staus and number of messages available
' the format returned will be
'211 104 10011 10125 microsoft.public.dotnet.framework.aspnet group selected
'(there are 104 articles on file, from 10011 to 10125)
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("GROUP " & _
DropDownList1.items(DropDownList1.selectedindex).value & ControlChars.CrLf)
networkStream.write(sendBytes,0,sendBytes.length)
bytes.clear(bytes,0,bytes.length)
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
responseArr=split(Encoding.ASCII.GetString(bytes))
'we are interested in 3rd index as it contains the last number of message
Dim fetchFrom as long=ctype(responseArr(3),long)
fetchFrom =fetchFrom-6 ' subtract it from 10 as we r interested in latest 6 messages
Dim i as integer
for i=1 to 6
sendbytes=Encoding.ASCII.GetBytes("ARTICLE " & fetchFrom & ControlChars.CrLf )
networkStream.write(sendBytes,0,sendBytes.length)
bytes.clear(bytes,0,bytes.length)
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
Dim Message as String
Dim Header as String
Dim Body as String
Dim curLine as String
Message=Encoding.ASCII.GetString(bytes)
if left(Message,3)="220" then ' if status is OK=220 then
Header=left(Message,instr(1,Message,ControlChars.CrLf & ControlChars.CrLf))' get the header
Body=mid(Message,instr(1,Message,ControlChars.CrLf & ControlChars.CrLf))' get the body part
Dim sr as new Stringreader(Header)
curLine=sr.readLine()
while not curLine is nothing
if instr(1,curLine,"From:")=1 or instr(1,curLine,"Sender:")=1 & _
or instr(1,curLine,"Date:")=1 or instr(1,curLine,"Message-ID:") then
AddToTable(curLine,true)
end if
curLine=sr.readLine()
end while
AddToTable(Body,false)
else
AddToTable("Failed to receive message (" & fetchfrom &")",true)
end if
fetchfrom += 1
next
tcpClient.Close()
End Sub
Sub AddToTable(ss as String,Header as Boolean)
Dim tr as new TableRow()
Dim td as new TableCell()
me.table1.rows.add(tr)
tr.cells.add(td)
if header then
td.BackColor=System.Drawing.Color.Silver
td.text=ss
else
td.text="<PRE>" & Server.HtmlEncode(ss) & "</PRE>"
end if
End SuB</pre>
<pre></script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
<table style="WIDTH: 508px; HEIGHT: 28px" border="0">
<tbody>
<tr>
<td>
Select a Newsgroup</td>
<td>
<asp:DropDownList id="DropDownList1" runat="server" Width="274px">
<asp:ListItem Value="microsoft.public.dotnet.framework.aspnet">
microsoft.public.dotnet.framework.aspnet</asp:ListItem>
<asp:ListItem Value="microsoft.public.dotnet.languages.vb">
microsoft.public.dotnet.languages.vb</asp:ListItem>
<asp:ListItem Value="microsoft.public.xml">microsoft.public.xml</asp:ListItem>
</asp:DropDownList>
&nbsp;
<input type="submit" value="Submit" /></td>
</tr>
</tbody>
</table>
</p>
<p>
<br />
<asp:Label id="lab1" runat="server"></asp:Label>
<br />
<asp:Table id="Table1" runat="server" BorderColor="Gray" BorderWidth="1px" CellSpacing="0"
CellPadding="3" BorderStyle="Solid" GridLines="Both"></asp:Table>
</p>
</form>
</body>
</html>
</pre>
</div>