Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Stringgrid - GERADE/UNGERADE ZEILEN (https://www.delphipraxis.net/111716-stringgrid-gerade-ungerade-zeilen.html)

aaron 8. Apr 2008 09:47


Stringgrid - GERADE/UNGERADE ZEILEN
 
Ich habe ein Stringgrid in dem in einer Spalte Domainnamen stehen die ich überprüfen will.
Wenn ich das so mache dann dauert das ewig:

Delphi-Quellcode:
procedure TForm.Button5Click(Sender: TObject);
var
Inhalt_gerade,Inhalt_ungerade:String;

begin
  fCancel := False;
  while (lCount < advstringgrid1.RowCount) and (not fCancel) do
   begin
     Application.ProcessMessages();
           -> Inhalt_gerade:= advstringgrid1.Cells[0, lCount]; // ALLE GERADEN ZEILEN
           -> Inhalt_ungerade.text:= advstringgrid1.Cells[0, lCount]; // ALLE UNGERADE ZEILEN
      inc(lCount);
      advStringGrid1.row:=lCount;
      Application.ProcessMessages();
      Memo1.text := IdHttp1.get('http://www.whois.net/whois_new.cgi?d='+Inhalt_gerade+'&tld=com');
      Memo2.text := IdHttp1.get('http://www.whois.net/whois_new.cgi?d='+Inhalt_ungerade+'&tld=com');
      ...
    end;
end;
Wie kann ich jede gerade Zeile an Memo1 übergeben und jede ungerade Zeile des Stringgrids an Memo2?
Will einfach nur das die Suche schneller geht.

Gruss
Aaron

Der.Kaktus 8. Apr 2008 09:50

Re: Stringgrid - GERADE/UNGERADE ZEILEN
 
soo...
Delphi-Quellcode:
If advstringgrid1.RowCount mod 2 = 0 then gerade else ungerade

Klaus01 8. Apr 2008 09:52

Re: Stringgrid - GERADE/UNGERADE ZEILEN
 
.. sollte nicht eher lCount auf gerade geprüft werden.
Das ginge auch mit odd.

Grüße
Klaus

DeddyH 8. Apr 2008 09:55

Re: Stringgrid - GERADE/UNGERADE ZEILEN
 
Ich verstehe nicht, wieso die Memos in jedem Durchlauf abwechselnd überschrieben werden sollen. Wenn es nur um gerade oder ungerade geht, würde ich es auch wie Klaus machen.

TeronG 8. Apr 2008 09:58

Re: Stringgrid - GERADE/UNGERADE ZEILEN
 
Ungerade Zahlen haben Binär an erster Stelle (ganz rechts) eine 1. :zwinker: :mrgreen:

DeddyH 8. Apr 2008 10:00

Re: Stringgrid - GERADE/UNGERADE ZEILEN
 
AFAIK wird diese 1 von odd (oder auch even) abgefragt :zwinker:

TeronG 8. Apr 2008 10:04

Re: Stringgrid - GERADE/UNGERADE ZEILEN
 
Zitat:

Zitat von DeddyH
AFAIK wird diese 1 von odd (oder auch even) abgefragt :zwinker:

JO gut möglich ^^
Da aber x MOD 2 gepostet wurde wollte ich wenigstens auf (x and 1 <> 0) anspielen. (und hiermit Posten :mrgreen: )

Btw:
Zitat:

Zitat von OH
In Delphi prüft Odd, ob der mit X angegebene Wert eine ungerade Zahl ist. Bei einer ungeraden Zahl wird true zurückgegeben, bei einer geraden false.


aaron 8. Apr 2008 10:30

Re: Stringgrid - GERADE/UNGERADE ZEILEN
 
Hallo,
ich verarbeite den Inhalt der Memos weiter.
Meine Idee war halt das es damit schneller geht, woran ich momentan etwas zweifel.
Gruß
Aaron

Hansa 8. Apr 2008 11:26

Re: Stringgrid - GERADE/UNGERADE ZEILEN
 
Zitat:

Zitat von aaron
Meine Idee war halt das es damit schneller geht, woran ich momentan etwas zweifel.

Was ist denn weshalb "langsamer" ? Da bleibt wohl nur noch Assembler übrig. :gruebel: Ne, vergiss das. :mrgreen: Ich vermute, dass du das Memo während der Adds anzeigen tust. Es wird vielfach enorm unterschätzt, wie lange Windows braucht, den Bildschirm aktuell zu halten. Nimm mal eine Form, ein Memo und einen Button und teste das hier :

Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var i : Integer;
begin
//  memo1.Show;   //   40 Sek.
  for i := 1 to 100000 do
    Memo1.Lines.Add(IntToStr(i));
  memo1.Show;     // 7 Sek
end;
Das Memo ist dabei in der DFM auf visible = false voreingestellt. Bei mir ist der Unterschied bereits mit ca. Faktor 6 zu veranschlagen. Das ist nicht nur beim Memo zu beobachten.

aaron 8. Apr 2008 11:42

Re: Stringgrid - GERADE/UNGERADE ZEILEN
 
Hallo Hansa,

es geht ja hierum:
Delphi-Quellcode:
Memo1.text := IdHttp1.get('http://www.whois.net/whois_new.cgi?d='+Inhalt_gerade+'&tld=com');
Ich kann ja auch anstatt dem Memo eine Stringvariable verwenden.
Es geht mir insgesamt darum den Prozess zu beschleunigen.
Dachte mir, wenn ich eine Stringgridzeile nach der nächsten abarbeite dauert das länger als wenn ich gleichzeitig zwei Stringgridzeilen abarbeite.
Also die Memos brauche ich nicht.

Freundliche Grüße
Aaron


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:36 Uhr.
Seite 1 von 2  1 2      

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