PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Turbo Delphi (Verwaltungsproblem)


jowebb
2009-02-21, 13:00:07
Hi nach langer Zeit mal wieder ein Eintrag :biggrin: !
Ich muss mit Delphi programmieren und dort habe ich noch nicht viel Ahnung von der Materie :D !
Wir haben in der schule momentan das Thema Datenverwaltung und da gibt es ja X Möglichkeiten! Das Problem ist das wir in der schule nur eine Möglichkeit nutzen können (dürfen) für die Prüfung aber diese funktioniert nicht.
Nun ist die Frage ob sich einer auskennt! wenn ja dann kann ich mit meinem kleinen Kenntnisstand mal versuchen das Problem zu erklären. wenn nein dann muss ich es wo anders probieren.
Meine Mitschüler haben es schon in anderen Forum's probiert. (weiß aber nicht wie es aussieht)
Grüße Jo.

Hardwaretoaster
2009-02-21, 13:28:42
Meine Delphi-Kenntnisse sind recht eingerostet, aber was viel wichtiger ist: Datenverwaltung ist so wie du es schreibst erstmal nichtssagend. Was habt ihr denn überhaupt vor? Also ohne eine genauere Problemschilderung wird dir wohl kaum einer helfen können.

jowebb
2009-02-21, 13:40:47
Also wir haben in der Schule ein Tutorial von der delphi-treff Seite behandelt und wollten das nachbauen. Wir wollen ein Programm was eine Datei erstellt und dann Datensätze hinein schreibt die man vor und zurück blättert, ändern und löschen kann. Das alles soll dann immer in die Datei gespeichert werden.
:biggrin:
Fehlen noch Informationen? bitte sagen und Hinweisen.

Hardwaretoaster
2009-02-21, 19:01:05
Hm, verlinke mal, was für ein tut das auf Delphi-Treff konkret war.

Mein Ansatz wäre die ganze Datei in 'ne Liste laden (dafür gibt's bei der StringList z.B. ein LoadfromFile, kannst dir aber auch was aus ObjectList bauen, wenn du mehr flexibilität brauchst).
Darauf kannst du blättern und auch dank wahlfreiem Zugriff auch an beliegen Stellen löschen einfügen, etc.
Wenn du fertig bist, die ganze Datei schreiben.

Vorraussetzung ist, dass du auf die Datei nicht konkurrierend zugreifen willst, dann müsstest du dich um mehr kümmern, dann kann man, wenn man keine legacy-Sachen miteinbinden muss aber auch eine DB in Betracht ziehen.

Damit müsstest du weiter kommen.

jowebb
2009-02-21, 19:51:40
Hey danke erstmal! Ich werde das am Montag mal einbringen. Wir benutzen die neuste Version von Turbo Delphi (v 10....)
Hier noch der Tutorial:
http://www.delphi-treff.de/tutorials/datenspeicherung/typisierte-dateien/
der aber nicht richtig funktioniert, selbst wenn man ihn komplett abschreibt und natürlich ein paar Variabeln für die Vollständigkeit hinzufügt.

Wenn du noch einen Einfall hast bitte melden ;)

Grüße

Hardwaretoaster
2009-02-21, 20:06:26
Ok, das sollen Records werden.
Ich habe Delphi jetzt auch drauf, aber keine zeit das Tut. einzeln durchzugehen, was kommt denn an Fehlern (und wann: schon vom Compiler? Während der Laufzeit? habt ihr eure version schon mal debuggt?)?
Weil so prinzipiell sollte das auch gehen.

jowebb
2009-02-21, 21:00:47
Ich hab es mal erstellt, hier:
http://up-file.com/download/1487cb52e599d3cd3c2eafe01d0ba7b02
Es wird compiliert aber dann beim speichern zeigt er dann "E/A Fehler 103" an.
Was meinst du mit debuggen? :biggrin: Wie soll das funktionieren?
Das komische ist, dass es bei manchen Delphi Versionen funktioniert und bei anderen nicht.(Delphi 2006-07 geht es) Unsere Lehrer sind auch ratlos :biggrin:

Wenn ich noch was posten soll an Programminformationen immer fragen! :biggrin:

Danke schon mal!

Hardwaretoaster
2009-02-21, 22:44:15
Also das Programm ist zwar immer noch nicht so, dass man meine Fehler provozieren kann (das will das Tut. wohl auch gar nicht erreichen), aber der Fehler war sehr banal: Die Datei wurde nicht geöffnet, somit ist das Programm bei der ersten Dateioperation ausgestiegen.

Ursache: Die passende Prozedur war dem FormCreate-Event gar nicht zugewiesen, der Code da drin wurde also nicht ausgeführt.
Sowas findet man mit debugging: Breakpoints setzen, schauen, was die Variablen für Werte haben (im Zweifelsfall auch mal quick und dirty irgendwo 'ne Testausgabe).

jowebb
2009-02-22, 11:20:45
Juhu :biggrin: ! Ich hab mir mal einen kopf gemacht was du meinen könntest und hab es raus bekommen aber das mit dem "Breakpoints setzen" musst du mir mal genauer erklären, damit ich das in Zukunft selber machen kann ;) !
Hier mal die Variante die eigentlich funktionieren sollte:
http://up-file.com/download/2d935d5bed2dd1d9d9b1b00e856db250f
Und hier die die funktioniert (einigermaßen und zuerst auf "Datei erstellen" Button klicken) :
http://up-file.com/download/6f64df814b5ce19b5c6ee55554afee9c6


Viele Dank für die mühe :biggrin:

Hardwaretoaster
2009-02-22, 11:38:20
Du kannst auch die Events richtig setzen, dann brauchst du den Button nicht, ist aber erstmal egal.

Zu den Brwakpoints: Kannst du mit F5 setzen, dann schau dir das Menü unter "Start" an, da kannst du dann einzeln durch ein Programm gehen, wenn du mit der Maus über eine Variable im Quelltext fährst siehst du deren aktuellen Wert. Alles andere bekommst du am Besten per probieren raus.

jowebb
2009-02-22, 11:58:42
Okay, ich werde ein bisschen damit rumm probieren. Was für ein Delphi hast du? (ich hab Version 10.0.2288.42451)
Gibt es denn eine bestimmte Reihenfolge die man einhalten muss bei den Events? Wenn ja kannst du sie mir erklären? warum und so? :D
(Vielleicht ist die Frage komisch) Ich hab nicht so die Ahnung aber ich möchte es lernen. Falls du eine gute I-Net Seite kennst wo es erklärt wird (auch an Bsp. die funktionieren) nehme ich auch gerne an. :popcorn:

Grüße :uidea: (ich find die lustig *hihi*)

Hardwaretoaster
2009-02-22, 12:07:04
Okay, ich werde ein bisschen damit rumm probieren. Was für ein Delphi hast du? (ich hab Version 10.0.2288.42451)
Gibt es denn eine bestimmte Reihenfolge die man einhalten muss bei den Events? Wenn ja kannst du sie mir erklären? warum und so? :D
(Vielleicht ist die Frage komisch) Ich hab nicht so die Ahnung aber ich möchte es lernen. Falls du eine gute I-Net Seite kennst wo es erklärt wird (auch an Bsp. die funktionieren) nehme ich auch gerne an. :popcorn:

Grüße :uidea: (ich find die lustig *hihi*)

Hab' hier daheim auch nur die selbe Turbo Delphi-Version.
Naja, du markierst das Form und schaust im Objektinspektor unter Ereignisse, dann siehst du, dass da unetr FormCreate (und auch bei FormDestroy) nichts eingtragen ist (zum Vergleich schau dir die ClickEvents bei den Buttons an).
Grundkonzept dahinter: Die Methode, die da hinetrlegt ist, wird bei dem entsprechenden Events aufgerufen.

Als Webseiten kannst du eigentlich bei delphi-treff udn delphi-praxis ganz gut schauen. Die eigene Delphi-Hilfe war schonmal übersichtlicher, aber die beinhaltenden Infos sind auch sehr gut.