I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
ok det her kommer lige fra hovedet og er ikke testet.
var st:Tstringlist; i :integer; var1, var2:string; const soegstring = 'F0F1F2'; begin st := tstringlist.create; st.loadfromfile('dinfil.txt'); //fil med variabler for i := 0 to st.count-1 do begin var1 := copy(st.strings[I], 0, pos('=', st.strings[I])-1); var2 := copy(st.strings[I], pos('=', st.strings[I])+1, length(st.strings[I])); soegstring := stringreplace(soegstring, var1, var2, [RfReplaceAll]); end; showmessage(soegstring); end;
Ok somsagt ikke testet, og den kunne nok også gøres hurtigere.
Dette kommer ikke til at virke i praksis hen ad vejen... For hvis jeg har en meget lang hex kode, så vil den lige pludselig erstatte den kode, som allerede er konverteret, da der så dannes ny hex kode... så den skal vendes om til, at den tager et tegn af gangen, og så erstatter det...
function getDig(c: char): integer; begin if c<'a' then result:=ord(c)-ord('0') else c:=ord(c)-ord('a')+10; end; //get dig
ix:=1; while ix <= length(s) do begin c:=s[ix]; if c='F' then begin n:=0; inc(ix); igen: n:=n*16+getDig(s[ix]); inc(ix); if ix<=length(s) then if s[ix] in ['0'..'9','a'..'f'] then goto igen; res:=res+'int('+intToStr(n)+')'; end else begin res:=res+c; inc(ix); end; end;
Det er måske ikke hvad du præcis ønskede men iden er at skanne strengen seqventielt forfra. --nop
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.