SaveDialog für TEdit Felder?
SaveDialog für TEdit Felder?
Wie binde ich einen Save- und einen Open- Dialog so ein, dass der Inhalt mehrerer Eingabefelder des Typs TEdit (kein TMemo) gespeichert/geladen wird?
Re: SaveDialog für TEdit Felder?
Diese Dialoge dienen nur zur Auswahl des Dateinamens und Pfades. Etwas anderes tun die nicht.
Hast du dich schon ein bisschen mit der Pascal Programmierung befasst?
Infos gibt es z.B. hier:
http://www.lazarusforum.de/viewtopic.php?f=21&t=79
http://www.delphi-treff.de/tutorials/
Hast du dich schon ein bisschen mit der Pascal Programmierung befasst?
Infos gibt es z.B. hier:
http://www.lazarusforum.de/viewtopic.php?f=21&t=79
http://www.delphi-treff.de/tutorials/
- willi4willi
- Lazarusforum e. V.
- Beiträge: 170
- Registriert: Sa 1. Nov 2008, 18:06
- OS, Lazarus, FPC: Lazarus 3.8 FPC 3.2.2 x86_64-win64-win32/win64 x86_64-linux-gtk2
- CPU-Target: i386, win64, arm
Re: SaveDialog für TEdit Felder?
Hallo Steady,
Wenn Du die Eingabefelder speichern möchstst, dann geht das ganz einfach mit XMLPropStarage oder IniPropStorage.
Die entsprechende Komponente aufs Formular ziehen und bei den Formulareingenschaften die SessionProperties setzen (z.B. Komponente: Edit1 - Eigenschaft: Text hinzufügen).
Das war es schon. Standardmäßig wird in Projektname.xml bzw. Projektname.ini gespeichert, wenn das Programm beendet wird. Beim Start wieder geladen.
Wenn Du unter verschiedenen Dateinamen speichern und laden möchtest, muss die die Eigenschaft XMLPropStorage.FileName entsprechend bestücken und anschliesend ein XMLPropStorage.Save bzw. XMLPropStorage.Restore ausführen.
Dazu kannst Du dann Deinen SaveDialog nehmen.
Viele Grüße
Willi4Willi
Wenn Du die Eingabefelder speichern möchstst, dann geht das ganz einfach mit XMLPropStarage oder IniPropStorage.
Die entsprechende Komponente aufs Formular ziehen und bei den Formulareingenschaften die SessionProperties setzen (z.B. Komponente: Edit1 - Eigenschaft: Text hinzufügen).
Das war es schon. Standardmäßig wird in Projektname.xml bzw. Projektname.ini gespeichert, wenn das Programm beendet wird. Beim Start wieder geladen.
Wenn Du unter verschiedenen Dateinamen speichern und laden möchtest, muss die die Eigenschaft XMLPropStorage.FileName entsprechend bestücken und anschliesend ein XMLPropStorage.Save bzw. XMLPropStorage.Restore ausführen.
Dazu kannst Du dann Deinen SaveDialog nehmen.
Viele Grüße
Willi4Willi
Viele Grüße
Willi4Willi
------------
Re: SaveDialog für TEdit Felder?
Danke für die Antworten.
Ich habe mich bisher fast gar nicht mit Delphi bzw. Lazarus beschäftigt, sodass Ich mich damit auch nicht gut auskenne, lediglich die Konzepte der Programmierung und ein paar Schlüsselwörter sind mir bekannt,
da ich mich davor etwas mit Java beschäftigt habe (Delphi mit Lazarus ist schulisch jetzt wichtig).
XMLPropStarage (Rechtschreibfehler?) oder IniPropStorage finde Ich leider nicht....
Ich habe mich bisher fast gar nicht mit Delphi bzw. Lazarus beschäftigt, sodass Ich mich damit auch nicht gut auskenne, lediglich die Konzepte der Programmierung und ein paar Schlüsselwörter sind mir bekannt,
da ich mich davor etwas mit Java beschäftigt habe (Delphi mit Lazarus ist schulisch jetzt wichtig).
XMLPropStarage (Rechtschreibfehler?) oder IniPropStorage finde Ich leider nicht....
- willi4willi
- Lazarusforum e. V.
- Beiträge: 170
- Registriert: Sa 1. Nov 2008, 18:06
- OS, Lazarus, FPC: Lazarus 3.8 FPC 3.2.2 x86_64-win64-win32/win64 x86_64-linux-gtk2
- CPU-Target: i386, win64, arm
Re: SaveDialog für TEdit Felder?
Ohh das ist ... peinlich, aber Danke.willi4willi hat geschrieben:Misc?
Wie soll ich wieter vorgehen mit XML habe ich noch nie gearbeitet, die SessionProperties wurden so bearbeitet (Edit1.Text...)?
Re: SaveDialog für TEdit Felder?
Ich finde den Tipp von Willi für dich nicht so gut.
Versuch doch mal ein Stück Text zu speichern und wieder einzulesen, mit den Hilfen die ich dir gelinkt habe.
Das gehört irgendwie zu den Grundproblemen der Programmiererei und das sollte man schon "von Hand" beherrschen, ohne komplexe Komponenten zu bemühen.
Versuch doch mal ein Stück Text zu speichern und wieder einzulesen, mit den Hilfen die ich dir gelinkt habe.
Das gehört irgendwie zu den Grundproblemen der Programmiererei und das sollte man schon "von Hand" beherrschen, ohne komplexe Komponenten zu bemühen.
Re: SaveDialog für TEdit Felder?
ICh bin auch deiner Meinung (grundlegend),theo hat geschrieben:Ich finde den Tipp von Willi für dich nicht so gut.
Versuch doch mal ein Stück Text zu speichern und wieder einzulesen, mit den Hilfen die ich dir gelinkt habe.
Das gehört irgendwie zu den Grundproblemen der Programmiererei und das sollte man schon "von Hand" beherrschen, ohne komplexe Komponenten zu bemühen.
aber für mich ist Delphi nichts was ich perfekt beherrschen möchte.
Ich möchte nur eine gute Note mit meinem Projekt kriegen und mit zukünftigen,
außerdem ist der Info Unterricht so gestaltet, dass man es innerhalb von 5 Min. lernt und 40 Min. Zeit kriegt es selbst zu machen....sodass man in den 5 Minuten auch nicht mal ins Detail oder auf die Konzepte eingeht....
Unter diesen Aspekten brauche ich "das von Hand" nicht...
Re: SaveDialog für TEdit Felder?
+1theo hat geschrieben:Versuch doch mal ein Stück Text zu speichern und wieder einzulesen, mit den Hilfen die ich dir gelinkt habe.
Ansonsten: Schau mal hier (ganz Oben)
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: SaveDialog für TEdit Felder?
Wenn Du kein Interesse daran hast, wird es allerdings schwierig eine gute Note zu verdienen, meistens geht das Eine nicht ohne das Andere, oder vielmehr kommt das Eine vom Anderen.
Ich glaube, so wie ich die meisten Lehrer an den Schulen kenne, wollen die gar nichts perfektes, die wollen das Ihr Euch damit befasst, meistens wählt man in der Schule doch die Fächer für die man sich interessiert, oder ist das heute anders?
Ach so hatte ich noch vergessen, ich glaube nicht das Dir ein Lehrer eine gute Note dafür gibt wenn Du eine tolle fertige Komponente einsetzt! Ich vermute eher, wenn Du ein Objekt wie TStringList richtig nutzen würdest, das er begeistert wäre.
Ich glaube, so wie ich die meisten Lehrer an den Schulen kenne, wollen die gar nichts perfektes, die wollen das Ihr Euch damit befasst, meistens wählt man in der Schule doch die Fächer für die man sich interessiert, oder ist das heute anders?
Ach so hatte ich noch vergessen, ich glaube nicht das Dir ein Lehrer eine gute Note dafür gibt wenn Du eine tolle fertige Komponente einsetzt! Ich vermute eher, wenn Du ein Objekt wie TStringList richtig nutzen würdest, das er begeistert wäre.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
Re: SaveDialog für TEdit Felder?
Ich interessiere mich für Informatik, aber nicht für Delphi/Pascal, hoffentlich ists jetzt geklärt....
Den Link habe ich zuvor auch schon gefunden, nur wie binde ich XMLPropStorage nun mit einem SaveDialog mit einem (bei der OnClick Methode eines Buttons)?
Den Link habe ich zuvor auch schon gefunden, nur wie binde ich XMLPropStorage nun mit einem SaveDialog mit einem (bei der OnClick Methode eines Buttons)?
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2816
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: SaveDialog für TEdit Felder?
"Ich interessiere mich ja für Deutsch, aber nicht für Goethe." - Pech, dann wird der Aufsatz über Faust halt mit einer Fünf benotet.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: SaveDialog für TEdit Felder?
Ich hätte noch eine alternative Möglichkeit, statt der TXMLPropStorage und hatte gerade die 5 Minuten Zeit und habe mal ein kleines Bsp. geschrieben.Steady hat geschrieben:Ich möchte nur eine gute Note mit meinem Projekt kriegen und mit zukünftigen,
außerdem ist der Info Unterricht so gestaltet, dass man es innerhalb von 5 Min. lernt und 40 Min. Zeit kriegt es selbst zu machen....sodass man in den 5 Minuten auch nicht mal ins Detail oder auf die Konzepte eingeht....
Unter diesen Aspekten brauche ich "das von Hand" nicht...
Also im Beispiel sind 5-TEdits, da kann man ein paar Texte eingeben. Darunter ist ein Button "Speichern", wenn man dann Speichert, wird bei jedem neuen Laden alles wieder so angezeigt, wie man auf "Speichern" geklickt hat. Sind zwar noch ein paar Kleinigkeiten, z.B. müsste Datei-Speicher wieder frei gegeben werden, DateiPfad evtl. anpassen, aber ansonsten sollts das erstmal tun, wenn nicht, einfach melden

Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
Datei: TBitmap;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
if not assigned(Datei) then begin
Datei:=TBitmap.Create;
Datei.SetSize(ClientWidth, ClientHeight);
Datei.Canvas.CopyRect(ClientRect, Canvas, ClientRect);
Datei.SaveToFile('Datei');
Datei.Free;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
if FileExists('Datei') then begin
for i:=0 to (ControlCount - 1) do
if (Controls[i] is TCustomEdit) then
TCustomEdit(Controls[i]).Visible:=False;
Datei:=TBitmap.Create;
Datei.LoadFromFile('Datei');
end;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
if Assigned(Datei) then
Canvas.StretchDraw(ClientRect, Datei);
end;
end.
- Dateianhänge
-
projekt.zip
- (125.8 KiB) 84-mal heruntergeladen
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: SaveDialog für TEdit Felder?
+1
und der Lehrer wird begeistert sein, er hat nicht mal eine komplizierte Komponente genutzt!!!

MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me