AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Ini Datei nach schlüsseln sortiert und in Stringgrid eintragen dauert zu lange?
Thema durchsuchen
Ansicht
Themen-Optionen

Ini Datei nach schlüsseln sortiert und in Stringgrid eintragen dauert zu lange?

Ein Thema von muhael · begonnen am 30. Aug 2013 · letzter Beitrag vom 30. Aug 2013
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#1

AW: Ini Datei nach schlüsseln sortiert und in Stringgrid eintragen dauert zu lange?

  Alt 30. Aug 2013, 11:53
Du programmierst m.M.n. zu sehr an der Oberfläche. Wie wäre es denn, wenn Du Dir eine Klasse deklarierst und deren Eigenschaften dann aus der Ini ausliest und zuweist? Das Ganze in eine TObjectList gepackt, und Du hast die komplette Datei im Speicher, wobei zusammengehörige Daten dann auch zusammen sind. Diese Liste kannst Du dann auch beliebig sortieren und darstellen (in einem StringGrid, einer ListView oder sonstwo). Zum eigentlichen Problem: wahrscheinlich dürfte das ständige Neuzeichnen der Flaschenhals sein. Die Anzahl der Zeilen ist zumindest bei der Listenlösung bekannt und muss dann nur einmal gesetzt werden. Rows und Cols von TStringGrid sind vom Typ TStrings, welcher wiederum über die Methoden BeginUpdate und EndUpdate verfügt. Der Einsatz dieser beiden könnte das Ganze schon enorm beschleunigen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
muhael

Registriert seit: 5. Mär 2013
42 Beiträge
 
#2

AW: Ini Datei nach schlüsseln sortiert und in Stringgrid eintragen dauert zu lange?

  Alt 30. Aug 2013, 12:03
Danke für die schnelle Antwort.
Ja aber wenn man halt 2x nen Mustermann drin hat und den in der Tobjectlist Sucht findet er Beide und zeigt somit diesen auch an oder sehe ich das Falsch?
da:
[9000]
Name=Max
NachName=Mustermann
Kostenstelle=210
Punkte=10

und
[9001]
Name=Hans
NachName=Mustermann
Kostenstelle=510
Punkte=50


die beiden haben denselben Nachnamen nun suche ich nach dem Nachnamen und er findet ja Beide da die nachnamen gleich sind...

das andere werde ich zu herzen nehmen und auch zuhause ausprobieren

ielen dank erstmal

LG
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ini Datei nach schlüsseln sortiert und in Stringgrid eintragen dauert zu lange?

  Alt 30. Aug 2013, 12:09
Dann merk Dir doch einfach die Personalnummer mit (z.B. in der Objects-Eigenschaft von TStrings). Damit ist der Datensatz dann eindeutig identifiziert.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.493 Beiträge
 
Delphi 12 Athens
 
#4

AW: Ini Datei nach schlüsseln sortiert und in Stringgrid eintragen dauert zu lange?

  Alt 30. Aug 2013, 12:25
Ich versteh nicht wo eigentlich das Problem mit doppelten Namen ist?
Delphi-Quellcode:
TMyPerson = class(TObject)
  Nr: Integer;
  Name: string;
  NachName: string;
  Kostenstelle: string;
  Punkte: Integer;
end;

function ComparePersonByNachName(AItem1, AItem2: Pointer);
begin
  Result := AnsiCompareText(TMyPerson(AItem1).Name, TMyPerson(AItem2).Name);
end;

function ComparePersonByNr(AItem1, AItem2: Pointer);
begin
  Result := TMyPerson(AItem1).Nr - TMyPerson(AItem2).Nr;
end;

function ComparePerson(AItem1, AItem2: Pointer);
begin
  Result := ComparePersonByNachName(AItem1, AItemn2);
  if Result <> 0 then Exit;
  Result := ComparePersonByNr(AItem1, AItemn2);
end;

FMyPersonList: TObjectList;
{...}
PersonenEinlesen;
FMyPersonList.Sort(ComparePerson);
PersonenAusgeben;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#5

AW: Ini Datei nach schlüsseln sortiert und in Stringgrid eintragen dauert zu lange?

  Alt 30. Aug 2013, 12:27
Das Problem besteht, wenn man lediglich die Namen in einer ListBox o.ä. vorhält, dann weiß man bei Click auf einen mehrfach vorhandenen nicht, welcher gemeint ist. Daher würde ich wie schon angedeutet zumindest die Personalnummer, aber besser noch das ganze Personenobjekt in TStrings.Items.Objects ablegen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#6

AW: Ini Datei nach schlüsseln sortiert und in Stringgrid eintragen dauert zu lange?

  Alt 30. Aug 2013, 12:40
Liege ich da jetzt so falsch oder warum war mir nach drei Sätzen klar, daß man sowas viel einfacher mit TClientDataSet und TDbGrid implementiert (wenn man denn nicht auf eine richtige Datenbank gehen will)? Selbst wenn ich gleichzeitig mehrere unterschiedlich sortierte Listen darstellen will, lässt sich das damit relativ unproblematisch lösen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#7

AW: Ini Datei nach schlüsseln sortiert und in Stringgrid eintragen dauert zu lange?

  Alt 30. Aug 2013, 13:05
*Pfh*, das ist doch was für Warmduscher, ein bisschen muss es schon noch weh tun
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 06:59 Uhr.
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