Einzelnen Beitrag anzeigen

Benutzerbild von Amnon82
Amnon82

Registriert seit: 5. Jan 2005
186 Beiträge
 
FreePascal / Lazarus
 
#6

AW: [Linux] String teilen - Trenner Leerzeichen - Anzahl nicht gleich

  Alt 20. Aug 2010, 12:47
Ok Ich hab nun folgenden Code zusammengebaut:

Delphi-Quellcode:
// Fill Keyboard Variants
    if Processcmd = 'xkeyboard-variantsthen
    begin
          Form1.Page2Variantlist.clear;
          Form1.Page2Variantlist.items.add('[None]');
          for i := 0 to AMemo.Lines.Count - 1 do
          if AMemo.lines[i] = 'then
              // do nothing
          else
              if pos(Processvar,AMemo.lines[i]) <> 0 then
              begin
                 Astring1:=copy(AMemo.lines[i],0,pos(' ',AMemo.lines[i])-1);
                 AString2:=copy(AMemo.lines[i],pos(' ',AMemo.lines[i])+1,length(AMemo.lines[i]));
                 AString2:=StringReplace(AString2,Processvar+' ','',[rfReplaceAll]);
                 Form1.Page2Variantlist.items.add(trim(Astring2) + ' [' + Astring1 + ']');
              end;
    end;
Den ich wie folgt aufrufe:

Delphi-Quellcode:
procedure TForm1.Page2LayoutListClick(Sender: TObject);
begin
          //Fill Keyboard Variants
          Processcmd:='xkeyboard-variants';
          Processvar:= Page2LayoutList.Items.Strings[Page2LayoutList.ItemIndex];
          Processvar:= copy(Processvar,pos('[',Processvar)+1,length(Processvar));
          Processvar:= StringReplace(Processvar,']',':',[rfReplaceAll]);
          Processandwait(Processcmd);
end;
Es funktioniert zwar aber es dauert ewig bis die Anzeige da ist. Die Liste die er durchgeht ist ca. 350 Zeilen lang. Es währe besser die Liste schon zu haben und nur diese durchzugehen. Mal sehen wie ich das hinbekommen. Ich denk ich hab schon was im Kopf ...
  Mit Zitat antworten Zitat