VB vs Delphi

On probleemi miten
käännän alla olevan vb- koodin delphi- koodiksi
jos joku vois jeesata olis hieno homma

Dim pvm As String

Private Sub Command1_Click()
Dim pvm As String
Dim paluu as String
Dim pvm as String
pvm = Format(Now,"yyyymmdd")
paluu = CryptString2(pvm, True)
End Sub


Public Function CryptString2(txtString As String, EnCrypt As Boolean) As String


On Error GoTo errhandler
Dim x As Integer
Dim outString As String
Dim iLen As Integer
Dim sFirstSeed As String
Dim sSecondSeed As String
Dim iSeed As Integer


If EnCrypt Then
sFirstSeed = Left(txtString, 1)
sSecondSeed = Mid(txtString, 2, 1)
iSeed = (Asc(sFirstSeed) Asc(sSecondSeed)) Mod 2
iLen = Len(txtString)


For x = 1 To iLen
outString = Chr((Asc(Mid$(txtString, x, 1)) Xor iSeed) 2) & outString
Next


outString = Chr(Asc(sFirstSeed) * 2 3) & outString
outString = outString & Chr(Asc(sSecondSeed) * 2 - 3)
Else
sFirstSeed = Chr((Asc(Left(txtString, 1)) - 3) 2)
sSecondSeed = Chr((Asc(Right(txtString, 1)) 3) 2)
iSeed = (Asc(sFirstSeed) Asc(sSecondSeed)) Mod 2
iLen = Len(txtString) - 1


For x = 2 To iLen
outString = Chr((Asc(Mid$(txtString, x, 1)) Xor iSeed) - 2) & outString
Next


End If


CryptString2 = outString
Exit Function
errhandler:
MsgBox "Error in Crypt" & vbCrLf & "Error: " & Err.Description & vbCrLf & "Number: " & Err.Number
CryptString2 = ""
End Function
1209
Äänestä

Muut lukivat myös

Vastaukset 1

Vanhimmat

Tässä olis Delphi käännös. Testasin itse koodia käytännössä ja se toimii hyvin.

procedure TForm1.Button1Click(Sender: TObject);
var
Pvm: string;
Paluu: string;
begin
Pvm := FormatDateTime('yyyymmdd',Now);
Paluu := CryptString2(Pvm,True);
end;

function CryptString2(TxtString: string; EnCrypt: boolean): string;
var
X: Integer;
OutString: string;
iLen: Integer;
sFirstSeed: Char;
sSecondSeed: Char;
iSeed: Integer;
begin
try
if EnCrypt then
begin
sFirstSeed := TxtString[1];
sSecondSeed := TxtString[2];
iSeed := (Byte(sFirstSeed) Byte(sSecondSeed)) mod 2;
iLen := Length(TxtString);
for X := 1 to iLen do
OutString := Char((Byte(TxtString[X]) xor iSeed) 2) OutString;
OutString := Char(Byte(sFirstSeed) * 2 3) OutString;
OutString := OutString Char(Byte(sSecondSeed) * 2 - 3);
end
else
begin
sFirstSeed := Char((Byte(TxtString[1]) - 3) div 2);
sSecondSeed := Char((Byte(TxtString[Length(TxtString)]) 3) div 2);
iSeed := (Byte(sFirstSeed) Byte(sSecondSeed)) mod 2;
iLen := Length(TxtString) - 1;
for X := 2 to iLen do
OutString := Char((Byte(TxtString[X]) xor iSeed) - 2) OutString;
end;
Result := OutString;
except
MessageDlg('Error in crypt',mtError,[mbOK],0);
Result := '';
end;
end;

Äänestä

Kommentoi aloitusta


Karde kirjoitti:

On probleemi miten
käännän alla olevan vb- koodin delphi- koodiksi
jos joku vois jeesata olis hieno homma

Dim pvm As String

Private Sub Command1_Click()
Dim pvm As String
Dim paluu as String
Dim pvm as String
pvm = Format(Now,"yyyymmdd")
paluu = CryptString2(pvm, True)
End Sub


Public Function CryptString2(txtString As String, EnCrypt As Boolean) As String


On Error GoTo errhandler
Dim x As Integer
Dim outString As String
Dim iLen As Integer
Dim sFirstSeed As String
Dim sSecondSeed As String
Dim iSeed As Integer


If EnCrypt Then
sFirstSeed = Left(txtString, 1)
sSecondSeed = Mid(txtString, 2, 1)
iSeed = (Asc(sFirstSeed) Asc(sSecondSeed)) Mod 2
iLen = Len(txtString)


For x = 1 To iLen
outString = Chr((Asc(Mid$(txtString, x, 1)) Xor iSeed) 2) & outString
Next


outString = Chr(Asc(sFirstSeed) * 2 3) & outString
outString = outString & Chr(Asc(sSecondSeed) * 2 - 3)
Else
sFirstSeed = Chr((Asc(Left(txtString, 1)) - 3) 2)
sSecondSeed = Chr((Asc(Right(txtString, 1)) 3) 2)
iSeed = (Asc(sFirstSeed) Asc(sSecondSeed)) Mod 2
iLen = Len(txtString) - 1


For x = 2 To iLen
outString = Chr((Asc(Mid$(txtString, x, 1)) Xor iSeed) - 2) & outString
Next


End If


CryptString2 = outString
Exit Function
errhandler:
MsgBox "Error in Crypt" & vbCrLf & "Error: " & Err.Description & vbCrLf & "Number: " & Err.Number
CryptString2 = ""
End Function

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu