AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

DELPHI : Funktion für Ursprungliche String

Ein Thema von Gandimann · begonnen am 4. Dez 2020 · letzter Beitrag vom 4. Dez 2020
Antwort Antwort
Gandimann

Registriert seit: 10. Dez 2008
105 Beiträge
 
#1

DELPHI : Funktion für Ursprungliche String

  Alt 4. Dez 2020, 00:49
Hello Freunde,
ich versuche dieser Funktion genau umgekehrt mit Delphi zu schreiben leider krige ich nicht hin kann bitte jemand mal schauen ?

Function StrToLong(const S: AnsiString): LongWord;
var
i: Integer;
begin
Result := 0;
for i := 1 to Length(S) do
Inc(Result, Ord(S[i]) shl (32 - 8*i))
end;


Also ich versuche LongToStr darus zu machen sodass man ursprunglicher String wieder erhält.
Mit visual basic habe ich so realiziert aber braue jetzt in Delphi:

Public Function ToString(ByVal L As Long, n As Integer) As String

' Convert a long value to a string, left padded with chr$(0)

Dim s As String
Dim i As Integer
s = ""
Do While L > 0
i = l Mod 256
s = Chr$(i) & s
L = CLng((L - i) / 256)
Loop
ToString = Right$(String$(n, Chr$(0)) & s, n)
End Function


Mit Delphi bekomme ich leider nicht hin !!!!

Can you please help me ?!!
Was ist die mehrzahl von Mopp ? !
genau !... Möpse........oder ?

Geändert von Gandimann ( 4. Dez 2020 um 00:51 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
526 Beiträge
 
Delphi XE5 Professional
 
#2

AW: DELPHI : Funktion für Ursprungliche String

  Alt 4. Dez 2020, 08:17
Versuche es mit:
System.SysUtils.IntToStr(Value: Integer): string;) und
System.SysUtils.IntToStr(Value: Int64): string;) Gruß, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher.
John C. Cornelius
  Mit Zitat antworten Zitat
Gandimann

Registriert seit: 10. Dez 2008
105 Beiträge
 
#3

AW: DELPHI : Funktion für Ursprungliche String

  Alt 4. Dez 2020, 14:30
Danke Andreas13,
intToStr war leider nicht einsetzbar.
Ich habe so hinbekommen:

Function LongToStr(L: LongWord; N : integer): String;
var
S: String;
i:integer ;
begin
Result := ' ';
while L > 0 do
begin
i := L mod 256;
s := Char(i) + s ;
L := Round((l-i)/256);
end;
Result := RightStr(StringOfChar(String(Char(0))[1], n)+s, n);
end;
Was ist die mehrzahl von Mopp ? !
genau !... Möpse........oder ?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.672 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: DELPHI : Funktion für Ursprungliche String

  Alt 4. Dez 2020, 14:39
Delphi-Quellcode:
Round((l-i)/256)

(l-i) div 256 // Ganzzahldivision (passend zum MOD)
String(Char(0))[1] ?
Char zu String und dann wieder zum gleichen Char zurück? Wobei dieses letzte Char auch wieder "implizit" in einen String konvertiert wird, da der Parameter vom StringOfChar ein "String" ist, also Char->String->Char->String.

Char(0) , Chr(0) , #0 (dezimal) oder #$0 (hexadezimal)
c=Chr(x) ist das Gegenstück zum x=Ord(c)
und Char das Gegenstück zum Byte bzw. Word (jenachdem ob Unicode oder ANSI) und Ord geht ebenfalls
sowie explizit AnsiChar <-> Byte und WideChar <-> Word

Wieso abschneiden (RightStr), wenn man die Länge auch direkt ausrechnen kann?
Result := StringOfChar(#0, n - Length(s)) + s;

Und bitte mach [delphi] ... [/delphi] um deine Quellcodes drumrum, bzw. oben die passenden Knöpfe im Editor benutzen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu ( 4. Dez 2020 um 14:53 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
526 Beiträge
 
Delphi XE5 Professional
 
#5

AW: DELPHI : Funktion für Ursprungliche String

  Alt 4. Dez 2020, 14:52
Hallo Gandimann,
Du kannst Deinen Quellcode etwas übersichtlicher formatieren, wenn Du das Delphi-Symbol (= gelber Helm mit dem roten Kamm) vom Menü direkt über dem Editorfenster benutzt.
Gruß, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher.
John C. Cornelius

Geändert von Andreas13 ( 4. Dez 2020 um 14:55 Uhr)
  Mit Zitat antworten Zitat
Gandimann

Registriert seit: 10. Dez 2008
105 Beiträge
 
#6

AW: DELPHI : Funktion für Ursprungliche String

  Alt 4. Dez 2020, 16:57
Wieder was dazu gelernt....... Vielen Dank für die ausführliche Erklärung und nette Anweisungen
Was ist die mehrzahl von Mopp ? !
genau !... Möpse........oder ?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf