Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Visual Basic VS Delphi -> String Encode / Decode (https://www.delphipraxis.net/21562-visual-basic-vs-delphi-string-encode-decode.html)

agm65 4. Mai 2004 20:48


Visual Basic VS Delphi -> String Encode / Decode
 
Hallo Leute ich habe eine top Visual Basic, String Encode - Decode Funktion:
Encode - Decode über ein Passwort.
Da wollte ich mal fragen, ob es sowas auch für Delphi gibt... Wenn ja bitte hier posten ! Thx !

Code:
' Visual Basic

Function Encode(What As String) As String
  Zeile = What
  PW = "Password"
  U = 0
  P = 0
  Do Until Len(Zeile) = P
   k = k + 1
   U = U + 1
   P = P + 1
   
   If k = Len(PW) Then k = 1
   Z2 = Mid(PW, k, 1)
      If Z2 = " " Then
    Z2 = Mid(PW, k + 1, 1)
    k = k + 1
    End If
   Zeichen = Mid(Zeile, P, 1)
   NewChar = Asc(Zeichen) + Asc(Z2)
   If NewChar > 255 Then NewChar = NewChar - 255
   Crypt = Crypt + Chr$(NewChar)
  Loop
  Encode = Crypt
End Function

Function Decode(What As String) As String
  Zeile = What
  PW = "Password"
  U = 0
  P = 0
  Do Until Len(Zeile) = P
   k = k + 1
   U = U + 1
   P = P + 1
   
   If k = Len(PW) Then k = 1
   Z2 = Mid(PW, k, 1)
      If Z2 = " " Then
    Z2 = Mid(PW, k + 1, 1)
    k = k + 1
    End If
   Zeichen = Mid(Zeile, P, 1)
   NewChar = Asc(Zeichen) - Asc(Z2)
   If NewChar < 0 Then NewChar = NewChar + 255
   Crypt = Crypt + Chr$(NewChar)
  Loop
  Decode = Crypt
End Function

fkerber 4. Mai 2004 20:51

Re: Visual Basic VS Delphi -> String Encode / Decode
 
hi!

Such doch einfach mal nach [dp]Verschlüsselung[/dp], dann findest du bestimmt was ähnliches.


Ciao fkerber

MrSpock 4. Mai 2004 20:57

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Hallo agm65,

du kannst ja den Code in Pascal Notation neu schreiben. Mid ersetzt du durch Copy, der Rest geht fast direkt. Versuche es einfach einmal und sag Bescheid, wo du nicht weiterkommst.

agm65 4. Mai 2004 21:03

Re: Visual Basic VS Delphi -> String Encode / Decode
 
zu 1: hab schon im forum gesucht und nichts gefunden..
zu 2: ja könnte echt vielleicht klappen leider reichen meine delphi skills nicht aus (bin ein abtrünniger vbler) bräuchte da echt deine hilfe....thx !

MrSpock 4. Mai 2004 21:11

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Hallo agm65,

das ist gar nicht so schwer:

Code:
VB             PASCAL
=              :=
Len            Length
Mid(s, ab, anz) Copy(s, ab, anz)
Asc            Ord
Do Until...Loop repeat ... until bedingung
Und Function Encode(What As String) As String wird zu

Delphi-Quellcode:
function Encode(what: string): string;
var
  ...
begin

end;

agm65 4. Mai 2004 21:15

Re: Visual Basic VS Delphi -> String Encode / Decode
 
ich versuch das jetzt....wäre 1a wenn das laufen würde !

MrSpock 4. Mai 2004 21:18

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Hallo agm65,

wenn du an der einen oder anderen Stelle nicht weiterkommst, bekommst du hier sicher Hilfe.

agm65 4. Mai 2004 21:25

Re: Visual Basic VS Delphi -> String Encode / Decode
 
ich komm jetzt schon nicht weiter ...kannst du mir nicht die encode funktion machen, und ich mach die decode...interessiert bestimmt noch mehr..und die funktion ist echt top...

fkerber 4. Mai 2004 21:26

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Hi!

An welcher Stelle genau hängst du denn?

Ciao fkerber

MrSpock 4. Mai 2004 21:29

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Hallo agm65,

kannst ja in den Chat kommen, da bekommst du kostelosen online-Support :mrgreen:

agm65 4. Mai 2004 21:31

Re: Visual Basic VS Delphi -> String Encode / Decode
 
bei mir sieht das jetzt so aus

Delphi-Quellcode:
function Encode(what: string): string;
var
Zeile: string;
PW: string;
U: integer;
P: integer;
k: integer;
z2: string;

 begin
  Zeile := What;
  PW := 'Password';
  U := 0;
  P := 0;

  repeat Until Length(Zeile) = P;
   k := k + 1;
   U := U + 1;
   P := P + 1;

   If k = Length(PW) Then k := 1;
   Z2 := Copy(PW, k, 1);
      If Z2 = ' ' Then;
    Z2 := Copy(PW, k + 1, 1);
    k := k + 1;
    End;
   Zeichen := Copy(Zeile, P, 1); <--- hier sagt er mir: auf u zugewiesener wert wird niemals benutzt
   NewChar := Ord(Zeichen) + Ord(Z2);
   If NewChar > 255 Then NewChar = NewChar - 255;
   Crypt = Crypt + Chr$(NewChar);
  Loop;
  Encode = Crypt;

end;
[edit=MrSpock]Code Tags durch Delphi Tags ersetzt. Mfg, MrSpock[/edit]

fkerber 4. Mai 2004 21:33

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Hi!

Das ist nur ein Hinweis, dass du U gar nicht brauchst.
Einfach u rausschmeißen.

Ciao fkerber

MrSpock 4. Mai 2004 21:35

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Hallo agm65,

das ist nur eine Warnung, die du nur als Hinweis bekommst. Aber der Compiler hat zurecht festgestellt, dass die Variable u mit 0 initialisiert und dann hochgezählt wird, ohne jemals verwendet zu werden. Deshalb der Hinweis.

Außerdem müssen Zeichen, Crypt und NewChar noch deklariert werden.

agm65 4. Mai 2004 21:45

Re: Visual Basic VS Delphi -> String Encode / Decode
 
dann geht es so weiter...hey kann das nicht mal einer für mich machen ,....ich bin damit echt übervordert !....thx alot cu agm65

agm65 4. Mai 2004 21:47

Re: Visual Basic VS Delphi -> String Encode / Decode
 
MAYDAY, MAYDAY -> an die PRO Delphi Coder....

Hilfe...ich gehe unter... :duck:

MrSpock 4. Mai 2004 22:10

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Hallo agm65,

Delphi-Quellcode:
function Encode(what: string): string;
var
   Zeile,
   PW,
   Crypt   : string;
   k,
   P,
   NewChar : integer;
   z2,
   Zeichen : Char;

begin
   Zeile := What;
   PW := 'Password';
   P := 0;
   k := 0;

   repeat
      k := k + 1;
      P := P + 1;

      If k = Length(PW) Then
         k := 1;

      Z2 := Copy(PW, k, 1)[1];
      If Z2 = ' ' Then
      begin
         Z2 := Copy(PW, k + 1, 1)[1];
         k := k + 1;
      end;
      Zeichen := Copy(Zeile, P, 1)[1];
      NewChar := Ord(Zeichen) + Ord(Z2);
      If NewChar > 255 Then
         NewChar := NewChar - 255;

      Crypt := Crypt + Chr(NewChar);
   Until Length(Zeile) = P;
   Result := Crypt;
end;
Versuch einmal, ob das funktioniert.

SirThornberry 4. Mai 2004 22:12

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Hmm, hoffe ich hab keinen Fehler reingemacht, bin nicht so der VBLer...
Delphi-Quellcode:
function Encode(What: String): String;
var Zeile, PW, Crypt: String;
    P, k, NewChar: Integer;
    zeichen, Z2: Char;
begin
  Zeile := What;
  Crypt := '';
  PW := 'Password';
  P := 0;
  k := 0;
  while not(Length(Zeile) = P) do
  begin
   k := k + 1;
   P := P + 1;

   if k = Length(PW) Then k := 1;
   Z2 := copy(PW, k, 1)[1];
   if Z2 = ' ' then
   begin
     Z2 := copy(PW, k + 1, 1)[1];
     k := k + 1;;
   end;
   Zeichen := copy(Zeile, P, 1)[1];
   NewChar := ord(Zeichen) + ord(Z2);
   If NewChar > 255 Then NewChar := NewChar - 255;
   Crypt := Crypt + Char(NewChar);
  end;
  result := Crypt;
end;
Als Belohnung will ich nen Zuckerkuchen.... :-D

MrSpock 4. Mai 2004 22:17

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Sir ...
Ich war zwei Minuten eher, somit gebührt mir der Zuckerkuchen, sofern man logisch entscheidet. :mrgreen:

SirThornberry 4. Mai 2004 22:19

Re: Visual Basic VS Delphi -> String Encode / Decode
 
@Spocki: du warst ni wirklich eher - ich hatte den source fertig und hab dann geguckt ob schon jemand die antwort gepostet hat. Da noch keiner geantwortet hab, hab ich nen weiteren test gemacht, und dann geantwortet - hast mich dann wohl in derzeit überholt :? Ist ja auch egal - hauptsache ich bekomme wenigstens nen halben zuckerkuchen :tongue:

außerdem stimmt dein repeat nicht. in Basi ist es ja auch ne anfangsgeprüfte schleife. Bei dir wird die schleife aber mindestens einmal durchlaufen was nicht correkt ist - sollte schief gehen wenn ich einen leerstring übergebe

agm65 4. Mai 2004 22:27

Re: Visual Basic VS Delphi -> String Encode / Decode
 
ich idiot warte die ganze zeit auf seite 1....da kann ich lange warten ..danke euch beiden ich werde es gleich testen .,...zuckerkuchen habe ich leider keine aber ein bier !

:cheers:

agm65 4. Mai 2004 22:30

Re: Visual Basic VS Delphi -> String Encode / Decode
 
man es läuft genau wie im vb ...ihr seit spitze ! !! YIPPI ! ...hoffentlich schaffe ich die decode alleine .....*freu*

MrSpock 4. Mai 2004 22:39

Re: Visual Basic VS Delphi -> String Encode / Decode
 
Hallo agm65,

für Hilfe beim Decode musst du aber noch Zuckerkuchen besorgen. Vielleicht mit Kaffee oder so, weil mit Bier :cheers: ...

agm65 4. Mai 2004 22:42

Re: Visual Basic VS Delphi -> String Encode / Decode
 
hehe lol okay...hab alles organisiert ...habs versucht ...aber nicht geschafft ..ist doch nicht so leicht trotz perfect laufender encode function....darf ich euch nochmal um eure hilfe bitten :)

dann geb ich ne runde aus, für alle :) !

agm65 4. Mai 2004 23:02

Re: Visual Basic VS Delphi -> String Encode / Decode
 
so gehts :) ! habs danke !

Delphi-Quellcode:
Function Decode(What: String): String;
var Zeile, PW, Crypt: String;
    P, k, NewChar: Integer;
    zeichen, Z2: Char;
begin
  Zeile := What;
  Crypt := '';
  PW := 'Password' ;
  P := 0;
  k := 0;
  while not(Length(Zeile) = P) do
  begin
   k := k + 1;
   P := P + 1;


   if k = Length(PW) Then k := 1;
   Z2 := copy(PW, k, 1)[1];
   if Z2 = ' ' then
   begin
     Z2 := copy(PW, k + 1, 1)[1];
     k := k + 1;;
   end;
   Zeichen := copy(Zeile, P, 1)[1];
   NewChar := ord(Zeichen) - ord(Z2);
   If NewChar < 0 Then NewChar := NewChar + 255;
   Crypt := Crypt + Char(NewChar);
  end;
  result := Crypt;

End;
[edit=MrSpock]Code Tags durch Delphi Tags ersetzt. Mfg, MrSpock[/edit]

SirThornberry 4. Mai 2004 23:07

Re: Visual Basic VS Delphi -> String Encode / Decode
 
na toll, habs auch gerade fertig :(

agm65 4. Mai 2004 23:12

Re: Visual Basic VS Delphi -> String Encode / Decode
 
tut mir leid....gibt trotzdem freibier für alle !

die funktion ist echt top und läuft genau wie in vb..habt dank !
könnt beide (en & decode) bei den sources posten wenn ihr wollt !


cu agm65


:cheers: :cheers: :cheers:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz