Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Suchen, vergleichen (https://www.delphipraxis.net/149259-suchen-vergleichen.html)

Jens Hartmann 19. Mär 2010 21:02

Re: Suchen, vergleichen
 
Mach mal aus dem

Delphi-Quellcode:
  Memo1.Free;
//ein
  Memo1.Clear;
Gruß Jens

jonsen2.0.0.9 19. Mär 2010 21:46

Re: Suchen, vergleichen
 
upps...funktioniert trotzdem nicht :(

jonsen2.0.0.9 19. Mär 2010 21:55

Re: Suchen, vergleichen
 
Liste der Anhänge anzeigen (Anzahl: 1)
so hier noch mal die neuste version... :)

funktioniert immer noch nicht ganz :(

DeddyH 20. Mär 2010 16:38

Re: Suchen, vergleichen
 
Du solltest Dir die Parameter von Copy() einmal ganz genau anschauen. Der letzte gibt keine Position, sondern die Länge des zu kopierenden Teilstrings an. Außerdem ist GetCurrentDir() keine gute Idee, oder weißt Du, in welchem Verzeichnis Du Dich gerade befindest? Ich habe das ganze mal etwas abgeändert.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var i:integer;
   bracketpos1,bracketpos2:integer;
   sl: TStringlist;
   Line: string;
begin
  Memo1.Lines.BeginUpdate;
  try
    memo1.clear;
    sl := TStringlist.Create;
    try
      sl.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'werte.txt');
      for i := 0 to sl.Count - 1 do
        begin
          Line := '';
          bracketpos1 := Pos('(',sl[i]);
          if bracketpos1 > 2 then
            begin
              Line := Trim(Copy(sl[i],1,bracketpos1 - 1)) + #32;
              BracketPos2 := Pos(')',sl[i]);
              Line := Line + Copy(sl[i],bracketPos1 + 1,BracketPos2 - BracketPos1 - 1);
              memo1.Lines.Add(Line);
            end;
        end;
    finally
      sl.free;
    end;
  finally
    Memo1.Lines.EndUpdate;
  end;
end;
[edit] Das Clear in den try-finally-Block verschoben [/edit]

jonsen2.0.0.9 20. Mär 2010 17:36

Re: Suchen, vergleichen
 
danke für die tipps :)

habe aber ein paar fragen dazu:

1) wieso ist getcurrentdir keine gute idee?
2) Memo1.Lines.EndUpdate wofür brauche ich das?

und noch eine die ganz neu ist:

wenn ich strg+c drücke kann ich ja etwas kopieren...kann man den inhalt von z.B. Memo1 in diesen speicher bringen ohne das der anwender alles makieren und strg+c drücken muss?


MFG
Jonsen

DeddyH 20. Mär 2010 17:46

Re: Suchen, vergleichen
 
GetCurrentDir gibt Dir das aktuelle Verzeichnis an. Angenommen, Dein Programm liegt unter C:\Test. Dann könnte man es z.B. von der Kommandozeile so aufrufen:
Code:
C:
cd \Test
programm.exe
Das ist der Fall, von dem Du ausgehst. Es geht aber auch so:
Code:
C:
cd \
Test\Programm.exe
Oder so:
Code:
D:
C:\Test\Programm.exe
Von daher würde ich an Deiner Stelle GetCurrentDir() weitestgehend aus meinem Wortschatz streichen. Und Delphi-Referenz durchsuchenTStrings.EndUpdate ist eine Methode von TStrings und korrespondiert mit Delphi-Referenz durchsuchenTStrings.BeginUpdate. In die Zwischenablage bekommst Du den Text im schlimmsten Fall, indem Du die Unit ClipBrd einbindest und ClipBoard.AsText den Text des Memos zuweist. Ob das Memo da schon etwas Fertiges mitbringt, weiß ich gerade nicht.

jonsen2.0.0.9 20. Mär 2010 17:51

Re: Suchen, vergleichen
 
das mit dem clipboard funtkionier DANKE...

das mit dem update lese ich mir gerade durch :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz