Lidt sjov med Strings...

Tags:    delphi

User
Bruger #4 @ 24.05.03 20:51
Okay... Ved ikk lige hvordan dette gribes an... Men vi prøver!

Lad os sige, at jeg har en tekstfil som indeholder flg.:

04=a
05=b
06=c

Jeg har også en String, som indeholder "040506"...

Nu skal jeg så, via min tekstfil, ha den til at erstatte min String. Som jo består af de HEX værdier, angivet i tekstfilen.

Jeg har fået et eksempel andetsteds, men det virkede ikke, da der jo når man kommer længere hen i HEX alfabetet, kan opstå nye kombinationer når man konverterer...

For mig virker det bedste, som at tage to "characters" af gangen, og lave dem om via filen, men jeg har ikk li bestik på hvordan det gøres ;)

Et eksempel ville være dejligt :)

::saBA::
"The master of.. Erm.. Muhahaha.."



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
jeg ville skrive en funktion der kunne gøre det

Jeg har bikset lidt kode her; det er bare skrevet direkte ind så der kan godt være et par små fejl

Fold kodeboks ind/udKode 


det skulle gerne virke, ellers siger du bare til

den eneste tekst streng funktion jeg umiddelbart lige kan huske jeg ikke har brugt er pos

med venlig hilsen
Troels

ps du skal lige huske at declarere funktionen f.eks. sådan
Fold kodeboks ind/udKode 


hyg dig

[Redigeret d. 25/05-03 10:57:59 af Troels]



User
Bruger #4 @ 25.05.03 10:59
Har ikk testet det, men det burde da virke... Vil lege lidt med det, tak! :)

Smider pointene til dig, når jeg har tjekket funktionaliteten ;)



User
Bruger #4 @ 25.05.03 11:10
Med mine egne ændringer, kom den således til at se således ud:

<pre>
function TMainForm.HexToTable(txt: string): String;
var
I, II: integer;
Tmp, var1, var2: String;
begin
for I := 1 to length(txt) do
begin
tmp := copy(txt,1,2);

for II := 0 to Table.count - 1 do
begin
var1 := copy(Table.Items[II], 0, pos('=', Table.Items[II]) - 1);
var2 := copy(Table.Items[II], pos('=', Table.Items[II]) + 1, length(Table.Items[II]));
if tmp = var1 then result := result + var2;
end;

delete(txt,1,2);
end;
end;
</pre>



nå ja sådan kan man jo også gøre, det fylder jo da lidt mindre



t