AGB  ·  Datenschutz  ·  Impressum  







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

StrinGrid nach Datum sortieren

Ein Thema von dopeline · begonnen am 16. Mai 2003 · letzter Beitrag vom 16. Mai 2003
Antwort Antwort
Seite 1 von 2  1 2      
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#1

StrinGrid nach Datum sortieren

  Alt 16. Mai 2003, 14:54
Hallöle!
ich hab ja auch schon eine möglichkeit gefunden! doch, wenn man in der zu sortierenden spalte in einer zelle kein datum eingegeben hat, bricht er das programm ab und sagt " '' ist kein gültiges Datum"
hier ist erst mal der code:
Delphi-Quellcode:
procedure TFormHaupt.Geburtstag1Click(Sender: TObject);
var i:Integer;
    tmpDatum: TDate;
    tmpString: String;
    j,m,t: Word;
begin

  for I := 1 to (Stringgrid1.RowCount-1) do begin
        if StringGrid1.Cells[8,i] = 'then break;
        tmpDatum := StrToDate(StringGrid1.Cells[8,i]);
        tmpString := FormatDateTime('YYYYMMdd',tmpDatum);
        Listbox1.Items.Add(tmpString);
  end;
   begin
  {Sortiere die Liste}
  for I := 1 to (Stringgrid1.RowCount) do StringGrid1.Cells[8,i] := '';

  Listbox1.sorted := true;

  {Zurückschreiben der Werte in das Stringgrid}
  for I := 1 to (Listbox1.Items.Count) do begin
        j := StrToInt(copy(Listbox1.Items[i-1],1,4));
        m := StrToInt(copy(Listbox1.Items[i-1],5,2));
        t := StrToInt(copy(Listbox1.Items[i-1],7,2));
        tmpDatum := Encodedate(j,m,t);
        StringGrid1.Cells[8,i] := DateToStr(tmpDatum);
  end;
end;
wie sage ich, dass er die leeren felder "nicht beachteb" soll?

Güße, dopeline

PS: Hier habe ich das mit dem Sortieren her
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#2
  Alt 16. Mai 2003, 14:58
'' is ja auch kein gültiges Datum. Vielleicht baust du noch ne art sicherung ein: Er soll das ganze nur machen, wenn die gerade untersuchte Zelle nicht lehr is (<> '')

Man liest sich, Stanlay 8)
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#3
  Alt 16. Mai 2003, 15:11
und da ist noch ein progblem...
wenn ich auf "nach geburtstag soriteren" klicke, funktioniert das ja alles, er ordnet die daten absteigend... doch wenn ich das 2. mal auf sortieren klicke, nimmt er das datum der obersten zeile, und schreibt es auch in die 2. zeile (und genauso mit den anderen daten--> verdoppelt). beim drittenmal klicen, hab ich dann schon 4x das gleichedatum bei 4 verschiedenen einträgen. wenn ich also 20x klicke, hab ich die gesamte tabelle mit ein und dem gleichen datum gefüllt...
woran liegt das? da muss sich dorch irgentwo im quelltext (oben) ein fehler eingeschlichen haben...

Grüße, dopeline
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#4
  Alt 16. Mai 2003, 15:30
oh!
hab das problem mit den doppelten daten gefunden: bei jeden mal klicken auf sortieren wurden die einträge ins listview geschrieben (aber nicht überschrieben) dadurch summierten sie die einträge!
LösungBeim aufrufen der prozedur)Listbox1.Clear; Grüße, dopeline
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#5
  Alt 16. Mai 2003, 15:43
also wenn stanleys methode funktioniert, bricht er das sortieren ab, wenn er in einer zelle kein datum findet...
wie aber bringe ih ihm bei, dass er diese gewissen zellen "auslässt/überspringt" ?

Grüße, dopeline
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#6
  Alt 16. Mai 2003, 15:45
Er muss sie ja nicht auslassen, er muss sie ja an den Schluss schreiben.
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#7
  Alt 16. Mai 2003, 15:48
oh gott! und das fällt mir jetzt erst auf

wenn ich nach datum ordne, ordnet er wirklich nur die spalte mit dem datum. er soll doch aber alle zeilen anhand des datums ordnen!!! jede zeile ist ein eintrag (name, adresse, telefon,...,Geburtstag). ich klicke nach "Geburtstag" sortieren und er sortiert zwar den geburtstag richtig aber die anderen zeilen dafür nicht mit. im endeffekt hat heinz krause nach dem sortieren an einem anderen tag geburtstag...

dopeline
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#8
  Alt 16. Mai 2003, 16:23
Das is natürlich nicht so günstig....du kannst ja nich einfach Geburtstage verlegen Abe rich denke, das lässt sich relativ schnell anpassen, oder?
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#9
  Alt 16. Mai 2003, 16:56
ich habe keinen blassen schimmer, wie ich das anstellen soll...

Gruß, dopeline
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#10
  Alt 16. Mai 2003, 17:21
Du hast doch den Inhalt der Zellen in die Variablen geschrieben um sie später wieder zu verschieben, das gleiche machst du einfach nochmal nur mit einer anderen Spaltenangabe.

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:27 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