17. oktober 2001 - 15:19Der er
33 kommentarer og 3 løsninger
At hente userlist
til delphi-nørderne:
Jeg har en chat i PHP - minder utrolig meget om OFiRs.. jeg vil lave et program man kan chatte fra på chatten. Chatten er opbygget i sider: chat = viser outputtet for chatten (er ordnet i programmet) bund = hvis man kommer fra webben indtaster man sit input her
I bund er der også en userlist over dem på chatten - den ser f.eks. sådan ud:
Jeg vil gerne have den liste ind i en ListBox - jeg har hentet sourcen fra bund ned i en string i programmet - men det er her problemerne melder sig...
Hvordan får jeg pillet alle brugerne ud af koden og får dem proppet ind i listbox\'en?
Start med at hent det ind i en stringList, løb den liste igennem og check på om der står value i det element du er nået til, hvis der gør laver du en Copy() med brug af Lastdelimiter på >, det copy retunere tilføjer du til din listbox items
Du skriver du har hentet source fra bund ind i en string, det skal du hente ind i en stringlist istedet, så kan du arb. med det line-vis, og så gøre som jeg beskrev, men lad nu bare ziron få lidt arb. ro *S*
martin >> jeg lavede det i en textbox, for hvis html\'koden ikke var lavet pænt ville det jo gå galt, men skod lort... laver lige noget med en stringlist...
hmm ser ud som om at det sidste problem var linieskiftet mellem brugernavnene. Så jeg kom lige på det her, det ser ud som om det virker fint, den skal så bare lige køres inden du prøver på at extracte navnene:
procedure TForm1.Button1Click(Sender: TObject); var liste: TStringList; linier: Integer; Number: string; function Getnumber(str: string): string; var str1: string; begin str1 := str; Delete(str1, pos(\'<option value=\', str1), pos(\'<option value=\', str1) + 13); result := copy(str1, 1, pos(\'>\', str1) - 1); end; begin //Insert return memo1.WordWrap := false; memo1.text := StringReplace(memo1.Text, \'<option value=\', #13#10 + \'<option value=\', [rfReplaceAll]);
liste := TStringList.Create; liste.Text := Memo1.Lines.Text; linier := 1; repeat if pos(\'<option value=\', liste.Strings[linier]) <> 0 then begin //Getnumber(liste.Strings[linier]) - Vil get the number of the input string ListBox1.Items.Add(Getnumber(liste.Strings[linier]) + \' - \' + copy(liste.Strings[linier], LastDelimiter(\'>\', liste.Strings[linier]) + 1, Length(liste.Strings[linier]))); linier := linier + 1; end else begin linier := linier + 1; end; until linier = liste.Count; end;
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.