![]() |
Telefonbuch-Programm (Datensätze?)
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leute!
Ich versuche im Rahmen eines Schulprojektes ein kleines Telefon-/Adressbuch zu basteln. da gibt es nur ein problem. die sache mit den datensätzen hatten wir in der schule noch nicht und jetzt habe ich keinen blassen Schimmer, wie ich das jetzt anstellen soll (Öffnen/Speichern/...) Vielleicht kann sich das jemand mal angucken und mir ein paar tips geben. Würde mich echt freuen! Danke, dopeline :dancer: |
eine Datei fehlt
Bei deinem ZipFile fehlt Usuche.pas deshalb kann es sich
wahrscheinlich auch niemand ansehen. |
Danke für den hinweis. ich hab die datei aktualisiert.
|
Mal wieder Delphi 7 Enterprise für Schüler. Und was haben die anderen in Deiner Klasse ? Alle die Enterprise ? Also jeder hat die DB-Komponenten zur Verfügung ?? Das must Du mir mal erläutern.
|
Ich arbeite zuhause mit d7 enterprise und in der schule mit delphi 5 ...
was meinst du mit DB-Komponenten? |
also in meiner Delphi 6 PE gehts ohne weiteres .. ich denke mal das das nen StringGrid is oder?
MfG BungeeBug |
Stringgrid abspeichern
Du willst also deine Daten ohne Datenbank einfach in eine Datei schreiben.
Das kann man machen aber wenn du dein programm weiter ausbauen möchtest, wirst du irgendwann doch auf eine Datenbank zuückgreifen. Also Daten in eine Datei speichern und auslesen geht unter anderem etwa so wie in der Delphi Hilfe beschrieben:
Code:
Hier wird eine Zeile aus einer Datei gelesen und der String an ein Edit ubergeben. Willst du viele zeile schau dir eine While Schleife mit EOF an. Der String S (eine Zeile) mußt du dann zerhacken und an die Zellen deines Grids uebergeben.
var
F: TextFile; S: string; begin if OpenDialog1.Execute then { Dialog zum Dateiöffnen anzeigen } begin AssignFile(F, OpenDialog1.FileName); { Datei ausgewählt } Reset(F); Readln(F, S); { Erste Zeile der Datei lesen } Edit1.Text := S; { String in ein TEdit schreiben } CloseFile(F); end; end; Beim Speichern einer Zeile gibt es 2 Varianten 1. Ausgerichtet
Code:
oder mit
NAME TEL
PAUL 0815 HEINZ 4711 2. Trennzeichen deiner Wahl PAUL#0815 HEINZ#4711 Bei dem Zerhacken/Zusammensetzen deiner Zeilen mußt du das was du als Speichervariante bevorzugst natuerlich beruecksichtigen. Viel Erfolg |
Re: Stringgrid abspeichern
Code:
Da sagt er mir, OpenDialog1 sei ein unbekannter bezeichner. muss uch das nicht irgentwo vereinbaren?
if OpenDialog1.Execute then { Dialog zum Dateiöffnen anzeigen }
|
kann mir vielleicht jemand ein komplettes programm (projektdatei usw.) zukommen lassen, damit ich das besser nachvollziehen kann?
|
Zitat:
|
Danke, aber das progie kenn ich schon (ist mir aber zu 'hoch') :?
|
Re: Stringgrid abspeichern
Zitat:
siehe Komporegister Dialoge |
ah ja, jetzt öffnet sich dieses standard-fenster zu öffnen einer datei.
schon mal ein anfang. |
Hallo,
Zitat:
Grüsse, Daniel :hi: |
trotzdem fehlen da doch noch ein paar grundlegene dinge. z.b. dass, wenn ich einen neuen eintrag einrichte, dieser dann in der tabelle erscheint usw. wie mach ich das?
|
Hallo,
Zitat:
Muss das wirklich ein Grid sein? Grüsse, Daniel :hi: |
hi, geht jetzt vielleicht nicht direkt ans thema, aber wenn du schon Delphi icons nimmst, dann würde ich dir empfehlen, Delphi-Menüs und Delphi-ToolBars dazuzunehmen... (Sieht besser aus)
|
Erst mal vielen dank für eure beiträge!
@Daniel B: muss nicht unbedingt ein stringgrid sein. bin gegenüber vorschlägen völlig offen. @Basic-Master: Das mit den Icons war auch erst eine vorab-lösung. entweder werde ich mir selber welche kreieren, oder ich such mir noch ein paar schöne. aber du hast schon recht, ist nicht wirklich ein hingucker. Gruß, dopeline :dancer: |
DungeeBug hat mir folgenden Code gegeben (DANKE!) aber da ist noch irgentwo ein haken.
Delphi-Quellcode:
delphi meckert, dass es irgend einen arrey-typ braucht (oder so ähnlich).
procedure TFormHaupt.Speichern1Click(Sender: TObject);
var MyStream : TFileStream; i : integer; MyDaten : TDatei; begin MyStream.Create('C:\text.txt',fmCreate); FOR i := 1 TO 30 DO BEGIN // Daten einlesen MyDaten.Name := StringGrid1.Cells[0,i]; MyDaten.Nummer := StrToInt(StringGrid1.Cells[1,i]); MyDaten.Mobil := StrToInt(StringGrid1.Cells[2,i]); MyDaten.Adresse := StringGrid1.Cells[3,i]; MyDaten.Mail := StringGrid1.Cells[4,i]; // Daten schreiben MyStream.Write(MyDaten.Name[1],SizeOf(MyDaten.Name)); MyStream.Write(MyDaten.Nummer[1],SizeOf(MyDaten.Nummer)); MyStream.Write(MyDaten.Mobil[1],SizeOf(MyDaten.Mobil)); MyStream.Write(MyDaten.Adresse[1],SizeOf(MyDaten.Adresse)); MyStream.Write(MyDaten.Mail[1],SizeOf(MyDaten.Mail)); END; MyStream.Free; end; dopeline :dancer: |
Und die Sache mit dem ListView will auch nicht so ruchtig. Ich weiß nicht, wie ich ihm sage, dass er die eingaben aus den edit-feldern in die richtigen spalten des listviews schreibt un das als einen datensatz nimmt.
|
Hallo,
Zitat:
Grüsse, Daniel :hi: |
Zitat:
|
Zitat:
|
peinliche frage :oops: : wo finde ich denn die online-hilfe?
|
Delphi-Hilfe
|
Ich glaub' ich lass es lieber. :cry:
mir fehlt da einfach ein bischen grundwissen (hab delphi gerade mal ein halbes jahr in informatik und die lehrerin laber stundenlang immer wieder das gleiche!) Wenn jemand lustig ist, kann er ja meinen kleinen kläglichen versuch vollenden und mir bescheid sagen. versuch mich lieber erstmal an einfacheren dingen und warte ab, was der unterricht so bringt. Trotzdem vielen dank für eure beiträge!!! Bis isrgendwann mal wieder! :freak: Grüße, dopeline :dancer: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:36 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