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 Exeption - Woher? (https://www.delphipraxis.net/118859-exeption-woher.html)

marabu 19. Aug 2008 17:24

Re: Exeption - Woher?
 
Hi,

eines deiner Probleme dürfte die Tatsache sein, dass die Datei BUECHER.TXT nur 1597 Datensätze aufweist.

Grüße vom marabu

omata 19. Aug 2008 17:30

Re: Exeption - Woher?
 
[wegen Nicht-Beachtung gelöscht]

fortuneNext 19. Aug 2008 18:56

Re: Exeption - Woher?
 
Oh gott... ich glaubs nicht... was stellt uns der Kerl eigentlich für Material zur Verfügung... erst war da in einer Zeile ein Fehler der Datenstruktur, waren 2 Autoren mit ; getrennt und wir suchen uns nen Wolf weil ders nich kapiert, und jetzt sowas...
xD
okay danke...das ist natürlich ein doofer fehler...

grenzgaenger 19. Aug 2008 20:32

Re: Exeption - Woher?
 
Zitat:

Zitat von marabu
Hi,

eines deiner Probleme dürfte die Tatsache sein, dass die Datei BUECHER.TXT nur 1597 Datensätze aufweist.

Grüße vom marabu

dachte, das bringt er selbst raus, nach meinen hinweis ... :-) in #13, aber da hat er sich wohl die falschen zeilen angesehen ... :-)

PS: das war wohl ditaktik, ihr sollt ja progrmmieren lernen, und dazu gehört auch die fehlersuche mit zu ... :-)

jetzt mal klartext, dein .RAR kann ich nicht entziffern, aber meine :glaskugel: erzählt mir, dass du ein array definierter länge hast, das du beim einlesen nicht ordentlich initialisiert... beim auslesen, stollperst du über die fehlerhaften initialisierungen... und das bringt die fehler ...

hier kannst (a) ordentlich initialisieren und (b) beim auslesen vernünftig darauf reagieren...

z.b.
Delphi-Quellcode:
fillchar(myarray, sizeof(myarray), 0);

if assigned(myarray[xyz]) then myObject(myarray[xyz]).dosomething;
dann sollt es auch keine fehlermeldungen mehr geben, und du hast (a) gelernt deine datenstrukturen zu initialsieren und (b) eine ordentliche fehlerbehandlung aufzubauen :-)

<HTH> GG

fortuneNext 19. Aug 2008 20:50

Re: Exeption - Woher?
 
Naja, die Taktik wars gewiss nicht ;) Sonst wär nicht der Satz gekommen "Naja... keine Ahnung... müssen wir wohl mit dieser kleinen Ausnahme leben, ich wüsste auch nich woher sie kommt" xD

Gut, wir initialisieren dann mal richtig ab jetzt :)


Zitat:

Zitat von grenzgaenger
Zitat:

Zitat von fortuneNext
2. Jetzt möchten wir die Sachen sortieren, nach den div. Datentypen (also z.B. nach ID, nach Autor etc). Das wollten wir auslösen, indem man auf die "Fixed-Cols" drückt (oben wo die Beschriftung ist). Ein OnCellSelect geht leider nicht, da sich die Dinger nicht anklicken lassen. Gibt es da irgendeine Lösung oder werden wir eigene Buttons einbauen müssen? Also die Frage ist, lassen sich die Fixed Einträge zu Buttons umfunktionieren?.

kannst du das OnClick ereignis nicht verwenden? hier könntest doch abbprüfen ob in der ersten spalte/zeile oder auf etwas spezifisches gedrückt wurde und entsprechend darauf reagieren...



naja, wie soll man das abprüfen? Die fixed-cols sind leider nicht anklickbar, so gibt es überhaupt keinen Indikator...



Und @ omata: sry... muss es wohl irgendwie überlesen haben :-/ jetzt fällts mir erst beim 2. durchschauen auf... xD

grenzgaenger 19. Aug 2008 20:53

Re: Exeption - Woher?
 
im übrigen, objekte werden im constructor automatisch initialisiert...

aber dein array, auch records, wie auch deine lokalen und globalen variablen musste mit der hand initialisieren :-)


PS: Ordentlich initialiseren und vernünftig einrücken, erspart dir schlaflose nächte mit dem debugger :-)

grenzgaenger 19. Aug 2008 21:17

Re: Exeption - Woher?
 
Zitat:

Zitat von fortuneNext
naja, wie soll man das abprüfen? Die fixed-cols sind leider nicht anklickbar, so gibt es überhaupt keinen Indikator...

dann schreib dir doch dein OnClick selbst :-)

Delphi-Quellcode:
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
 c, r: integer;
begin
 TStringGrid(sender).MouseToCell(x, y, c, r);
 if mbLeft = button then
 begin
  StatusBar1.SimpleText := inttostr(c) + '/' + inttostr(r);
 end;
end;
ps: alternativ könntest auch 'n listview statt 'n stringgrid nehmen... :roll:

fortuneNext 20. Aug 2008 13:56

Re: Exeption - Woher?
 
Mit dem Code weiss ich aber immernoch nicht auf welche Zelle jetzt gedrückt wurde... :-(

DeddyH 20. Aug 2008 13:58

Re: Exeption - Woher?
 
Wieso nicht? Schau mal in der Hilfe nach, was MouseToCell macht.

fortuneNext 20. Aug 2008 14:12

Re: Exeption - Woher?
 
Achsooo... okay ich habs zuerst falsch verstanden :D ich dachte, es gibt nur die Mauskoordinaten aus... xD
Okay danke! :)
Weiss zufällig noch einer wie ich einzelne Zellen editiere? Also haben die vielleicht Eigenschaften wie Farbe oder Textausrichtung? :-) Ansonsten wenn nicht auch egal...
Danke an alle Helfer! :-)

mfg

edit ps: dank auflage des lehrers müssen wir leider ein stringgrid benutzen ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:07 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