Avatar billede cybernostradamus Nybegynder
15. oktober 2001 - 08:43 Der er 10 kommentarer

Udskær ting fra string

Jeg har sourcen fra en hjemmeside i en string - men jeg skal have skåret de ting der ligger imellem

<option value=-1>Me</option>
<option value=1>She</option>
<option value=2>Her</option>

Dette vil jeg gerne have en ListBox der indeholder mulighederne; Me, She, Her
Avatar billede gusse Nybegynder
15. oktober 2001 - 08:45 #1
kig på pos og copy
Avatar billede tknudsen Nybegynder
15. oktober 2001 - 08:46 #2
frit fra leveren:

function getOptionText(option) : string;
var
  pos1,pos2 : integer;
begin
  pos1 := Pos(option,\'>\');
  pos2 := Pos(option,\'</\');

  result := Copy(option,pos1+1,pos2-pos1+1);
end;
Avatar billede tknudsen Nybegynder
15. oktober 2001 - 08:46 #3
function getOptionText(option : string) : string;
Avatar billede tknudsen Nybegynder
15. oktober 2001 - 08:47 #4
men som gusse foreslår skal du ta og kigge på pos() og copy() funktionerne, da ovenstående svar er meget specifikt. Det kunne jo være du ville hente value-værdie ud istedet...
Avatar billede cybernostradamus Nybegynder
15. oktober 2001 - 09:05 #5
rendte lige på en fejl... hvordan udskifter jeg dele af strengen med min egen tekst?
Avatar billede tknudsen Nybegynder
15. oktober 2001 - 09:08 #6
var pos1 : integer;
var s : string;

begin
  s = \'henrik havde en hest\';
  pos1 = Pos(s,\'hest\');
  Delete(s,pos1,4); // hest er 4 karaterer langt
  Insert(\'dims\',s,pos1);

  ShowMessage(s);
end;


jeg kan ikke lige huske parametreringen af Insert() funktioenen...
Avatar billede tknudsen Nybegynder
15. oktober 2001 - 09:08 #7
ehhh - fejl:

s :=
pos1 :=
Avatar billede dkn Nybegynder
15. oktober 2001 - 13:27 #8
Jeg har lavet 2 functions der kan det:


function TForm1.GetTagText(Tag: string): string;
Var s1:string;
begin
s1 := copy(Tag, pos(\'>\', Tag)+1, pos(\'</\', Tag)-1);
Result := copy(s1, 1, pos(\'</\', s1)-1);
end;
//Sample call:
edit1.Text := GetTagText(\'<option value=2>Her</option>\');


function TForm1.ReplaceTagText(Tag, ReplaceText: string): string;
Var
s2, s3, s4:string;
begin
s2 := Tag;
s3 := Copy(s2, 1, pos(\'>\', s2));
delete(s2, 1, pos(\'>\', s2));
s4 := Copy(s2, pos(\'</\', s2), pos(\'>\', s2));
result := s3+ReplaceText+s4;
end;
//Sample call:
edit1.Text := ReplaceTagText(\'<option value=2>Her</option>\', \'Hej med dig\');


Dennis
Avatar billede unclebug Nybegynder
16. oktober 2001 - 14:01 #9
Check StringReplace
Avatar billede dkn Nybegynder
16. oktober 2001 - 15:33 #10
Har du nogle problemmer???
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester