AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kann man das noch optimieren?

Ein Thema von Opa Knack · begonnen am 21. Jan 2005 · letzter Beitrag vom 22. Jan 2005
Antwort Antwort
Opa Knack

Registriert seit: 28. Dez 2004
Ort: Köln
166 Beiträge
 
#1

Kann man das noch optimieren?

  Alt 21. Jan 2005, 01:57
Hallo,

ich habe eine StringGrid und eine Datei, in der ich nach Übereinstimmungen der Zellen der ersten beiden Spalten der StringGrid suchen muß. Diese Datei liegt im ASCII-Format vor, jedoch ist sie nicht gegliedert und sieht aus wie Kraut und Rüben.

Umgesetzt habe ich dies nun, indem ich die Datei in ein Memofeld lade und anschließend eine Suche laufen lasse, die mit jeder Zelle des StringGrids angestossen wird. Bei Übereinstimmungen wird die entsprechende Zeile des StringGrids in ein weiteres Grid geladen, in dem am Schluß das Resultat erscheint.

Nun zur Frage: Fällt jemandem eine bessere Lösung ein?

Danke
Opa
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#2

Re: Kann man das noch optimieren?

  Alt 21. Jan 2005, 06:31
sry, ich habe Probleme dein problem zu verstehen.
Kannst du mal den Code posten, wie du es bisher löst? Das würde erheblih zum verständnis beitragen...
Wie sieht diese Datei aus? Suchst du nach strings mit konstanter Länger oder ist ist das eien csv-datei?
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Kann man das noch optimieren?

  Alt 21. Jan 2005, 07:46
bessere Lösung wäre das ganze nicht in ein Memo sondern in ein String zu packen da bei der Abfrage "Memo.Text" sonst jedesmal ein String erst zusammengebaut wird was ziemlich unperformant ist. Desweiteren könntest du die Daten in eine Struktur pressen damit die suche schneller geht.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#4

Re: Kann man das noch optimieren?

  Alt 21. Jan 2005, 08:06
Du könntest auch, falls du mehrere Zeilen brauchst, eine StringList benutzen. Würde ich sowieso für alle Vorgängr empfehlen, die der Benutzer nicht sehen muss, da die TStringList doch einiges schneller ist als ein TMemo.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Kann man das noch optimieren?

  Alt 21. Jan 2005, 09:02
@thantos81: Das Memo benutzt ja intern auch schon eine Stringlist (zumindest TStrings) was mit Memo.Lines ansprechbar ist. Aber auch da wird über ".Text" der String dann erst dynamich zusammengebaut.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#6

Re: Kann man das noch optimieren?

  Alt 21. Jan 2005, 10:52
@SirThornberry
Da hast du natürlich recht, aber ich habe die Erfahrung gemacht, das visuelle Komponenten wesentlich langsamer arbeiten. Auch wenn die unsichtbar sind, und/oder BeginUpdate gesetzt wurde. Kann aber auch subjektives empfinden sein, habe das noch nicht gestoppt.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Kann man das noch optimieren?

  Alt 22. Jan 2005, 14:39
das Stimmt - da die visuellen Komponenten ja immer noch prüfen ob beginupdate ausgeführt wurde sind sie damit auf jeden fall schon ein bischen langsamer. Eine reine Stringlist wäre besser als das Memo aber noch besser ist eben das man die .Text methode nur einmal aufruft oder gleich auf die Items damit der Text nicht jedes mal zusammengebaut wird.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 Uhr.
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