Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Brauche Hilfe bei einer Adressverwaltung (https://www.delphipraxis.net/114273-brauche-hilfe-bei-einer-adressverwaltung.html)

Newbi 23. Mai 2008 07:48

Re: Brauche Hilfe bei einer Adressverwaltung
 
Danke schonmal, Tut werde ich lesen und das mit dem Haltepunkt nachher ausprobieren.
Der Record und alles ist schon vorhanden. :)

Datensatz:TAdressen; // SpeichernDatei
Datei:File of TAdressen; // DateiVariable

Luckie 23. Mai 2008 07:58

Re: Brauche Hilfe bei einer Adressverwaltung
 
Und was sind das für tausend globale Variablen?

Newbi 23. Mai 2008 21:34

Re: Brauche Hilfe bei einer Adressverwaltung
 
Kein Butten oder Label hat einen Text, zumindest nicht, solange das Programm noch nicht gespeichert ist.

Anhand der Sprachwahl werden alle TextElemente aus IniDateien ausgelesen.

Deshalb diese doch recht große Anzahl an Variablen.

Ich habe angesprochenes tut nun ein wenig gelesen, nein noch net alles.
Das mit dem HaltePunkt habe ich probiert, jedoch ist der Angezeigte Wert korrekt, er müsse also an der richtigen Position speichern,
was das Programm aber nicht tut.

Luckie 23. Mai 2008 21:44

Re: Brauche Hilfe bei einer Adressverwaltung
 
Ich habe in deinem Code, den Record immer noch nicht gefunden, aber er darf keine AnsiStringsenthalten, sondern nur ShortStrings. Bei AnsiStrings speicherst du nämlich immer nur den Zeiger in der Datei ab, oder sonstigen Müll; ebendso beim lesen dann wieder.

Newbi 23. Mai 2008 21:50

Re: Brauche Hilfe bei einer Adressverwaltung
 
Delphi-Quellcode:
  TAdressen=record
                vID:Integer;
                vName:String[255];
                vVorname:String[255];
                vStreet:String[255];
                vHausnummer:String[255];
                vPLZ:Integer;
                vStadt:String[255];
                vLand:String[255];
                vTelefon_Mobil:Integer;
                vTelefon_Privat:Integer;
                vTelefon_Arbeit:Integer;
                vFax:Integer;
                vMail_1:String[255];
                vMail_2:String[255];
                vwww:String[255];
                vICQ:String[11];
                vMSN:String[255];
                vAIM:String[255];
                vYahoo:String[255];
                vDelete:boolean;

Das ist der Record

grenzgaenger 24. Mai 2008 08:33

Re: Brauche Hilfe bei einer Adressverwaltung
 
aber jetzt sag uns doch mal, welches problem du hast <glaskugel reib> :freak:

<OT>Daniel, wir brauchen ein neues Smiley, 'ne Glaskugel</OT>

marabu 24. Mai 2008 08:58

Re: Brauche Hilfe bei einer Adressverwaltung
 
Moin,

Zitat:

Zitat von Newbi
... Ich Speichere einen Datensatz ..., diesen ändere ich nun und speichere ihn wieder ..., hierbei setzt er aber den Datensatz ans Ende der Datei und überschreibt nicht den anderen, was er eigentlich soll. ...

mit viel Einfühlungsvermögen unterstelle ich jetzt: Das Ändern eines Datensatzes versuchst du, indem du im Eingabefeld ID die Nummer des zuvor gespeicherten Datensatzes eingibst. Das ist zwar keine schöne Benutzerschnittstelle, aber sie könnte unter gewissen Randbedingungen funktionieren, wäre da nicht die Tatsache, dass du den eingebebenen ID-Wert garnicht berücksichtigst:

Delphi-Quellcode:
procedure TFrm_Adress_Edit.Btn_Action_SaveClick(Sender: TObject);
begin
  // Eingaben abrufen
  ID := Unit_Variablen.SpeichernDatei_Number;
// ...
An anderen Stellen im Web hast du geschrieben, dass dies eine besondere Lernleistung von dir werden soll, mit der du deine Note aufbessern möchtest. Du steckst da viel Zeit rein, aber ich fürchte, dass da ein Konzept fehlt. Mag sein, dass dein Lehrer auch keines hat, aber unterstellen solltest du das nicht. Bevor du weiter Unmengen an redundantem Quellcode erzeugst: Frage deinen Lehrer nach Bewertungsrichtlinien, Merkblättern, Anleitungen. Wäre doch schade, wenn du am Ende mit leeren Händen da stehst.

Du wirst dein Projekt wahrscheinlich in einer Präsentation vorstellen müssen. Dabei stellst du zuerst dein Konzept vor und dann zeigst du deine Umsetzung. Beim Konzeptteil musst du nur die Erwartungshaltung der Gutachter etwas übertreffen um Erfolg zu haben. Bei der Umsetzung kommt es auf die Qualifikation und das Urteilsvermögen der Gutachter (Lehrer) an. Du erkennst jetzt vielleicht, dass du den Erfolg nicht unbedingt über Komplexität herbeizwingen kannst. Du musst zielgruppenorientiert vorgehen.

Vielleicht hast du ja all diese Dinge bereits bedacht - dann ignoriere meine Worte einfach.

Grüße vom marabu

Newbi 24. Mai 2008 14:02

Re: Brauche Hilfe bei einer Adressverwaltung
 
Hallo Marabu.

Ja das ist richtig. Es handelt sich um ein Schulprojekt.

Naja Note aufbessern ist etwas übertrieben um im Zeugnis 15 Punkte zu bekommen, muss ich 4 Sachen erfüllen. 1) Teilnahme am Unterricht und Hausaufgaben machen. 2) In beiden Klausuren 15 Punkte schreiben. 3) Wenn ich fertig meinen Klassenkameraden helfen. 4) Ein Projekt abgeben, was er sich anschaut.

Das Projekt vorstellen soll ich nicht. Der Code wird von ihm nur 2 Rangig beachtet, es geht darumm dass es funktioniert.

Du außerdem mit deiner Unterstellung recht.

Im record hat zwar jede eingabe auch eine ID, diese ist wird aber erst später eine Bedeutung haben. Das abrufen des Datensatzes, um diesen zu ändern erfolgt aus einer Typisierten Datei.

Die ID stellt hierbei die Zeile da, welche abgerufen und an die Felder übergeben wird da. (Vorm abruff wird von der ID 1 abgezogen.)

Ich konnte anhand des Haltepunktes feststellen, das der richtige Wert zum speichern vorhanden ist, die Zeile wird aber weder Überschrieben noch sonst etwas gemacht, er (das Programm) nimt einfach den geänderten Datensatz und speichert diesen ans Ende.


Weitere Fehlermeldungen:
Wenn ich einen Datensatz speicher und diesen ohne neustart des Programmes ändern will kommt: "Komponente mit der Bezeichnung ... existiert bereits."

grenzgaenger 24. Mai 2008 14:29

Re: Brauche Hilfe bei einer Adressverwaltung
 
musst du denn mit 'ner typisierten datei arbeiten? ansonsten würd ich dir raten, eine datenbank zu verwenden, wird übersichtlicher und die DB kümmert sich drum, dass deine daten konsistent sind.

btw: bei 'ner typisierten datei, wenn du 'n record überschreiben möchtest musst du erst mit seek positionieren.

PS: ausserdem würd ich dir raten den code mal ordentlich zu formatieren. zum einen erleichtert es die übersicht und zweiten findest du deine fehler schneller :-)

Newbi 24. Mai 2008 21:27

Re: Brauche Hilfe bei einer Adressverwaltung
 
Ja es muss eine Typisierte Datei sein, einzige vorgabe des Lehrers.

Inwiefern soll ich meinen Code anpassen.

Entschuldigt, aber bisher haben sich die meisten nur über die art meines Codes aufgeregt, ich persöhnlich finde ihn so am besten.

Es ging darum den Fehler zu finden, net den CodeStil zu erläutern.

Ich will euch nicht kritisieren oder so, ich finde es toll das ihr helfen wollt, aber naja, bisher haben sich nur wenige mit dem Eigentich Thema des Threades befasst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:25 Uhr.
Seite 2 von 3     12 3      

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