Registriert seit: 17. Jul 2014
Ort: Siegen
28 Beiträge
Delphi XE6 Starter
|
AW: Firemonkey abspeichern (iOS)
7. Aug 2014, 11:36
Warum soll ich einen Quellcode posten, wenn der hier bereits gepostet wurde und ich diesen verwendet habe?
Unter iOS kannst Du alles was Du willst unter TPath.GetDocumentsPath speichern. Unter diesem Ordner kannst Du auch beliebige Unterordner anlegen.
Wenn Du nur paar Edits speichern willst und auf eine Datenbank verzichten kannst, dann speicher und lade alles z.B. über eine Stringlist.
Speichern:
Delphi-Quellcode:
var
sl: TStringlist;
begin
sl := TStringList.Create;
sl.add(edit1.text);
sl.add(edit2.text);
sl.add(edit3.text);
sl.add(edit4.text);
sl.SaveToFile(TPath.GetDocumentsPath+TPath.DirectorySeparatorChar+'einstellungen.txt');
end;
Laden:
Delphi-Quellcode:
var
sl: TStringlist;
begin
sl := TStringList.Create;
sl.LoadFromFile(TPath.GetDocumentsPath+TPath.DirectorySeparatorChar+'einstellungen.txt');
edit1.text := sl[0];
edit2.text := sl[1];
edit3.text := sl[2];
edit4.text := sl[3];
end;
Den Quellcode von "Laden" habe ich halt in "FormCreate" gepackt, damit er immer die Einstellungen lädt, die zuletzt gespeichert wurden. Aber wie gesagt, die App stürzt dann sofort ab.
Aber hier mal mein Code zu Laden/Speichern.
Speichern:
Delphi-Quellcode:
procedure THeaderFooterwithNavigation.B_speichernClick(Sender: TObject);
var
Daten: TStringList;
begin
if MessageDlg('Möchten Sie die Datei wirklich speichern? Die zuletzt gespeicherte Datei wird dabei überschrieben.',
TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0, TMsgDlgBtn.mbYes) = mrYes then
begin
Daten := TStringList.Create;
//Kopf
Daten.Add(E_auftragnr.text);
Daten.Add(E_montagefirma.text);
Daten.Add(E_maschinentyp.text);
Daten.Add(E_artderarbeit.text);
Daten.Add(E_servicetechniker.text);
Daten.Add(IntToStr(E_land.itemindex));
Daten.Add(E_komnr.text);
Daten.Add(DateToStr(D_montagezeitvon.date));
Daten.Add(DateToStr(D_montagezeitbis.date));
//Mitte
Daten.Add(DateToStr(D_datummo.date));
Daten.Add(DateToStr(D_datumdi.date));
Daten.Add(DateToStr(D_datummi.date));
Daten.Add(DateToStr(D_datumdo.date));
Daten.Add(DateToStr(D_datumfr.date));
Daten.Add(DateToStr(D_datumsa.date));
Daten.Add(DateToStr(D_datumso.date));
//Anreise
Daten.Add(E_reisebeginnmo.text);
Daten.Add(E_reisebeginndi.text);
Daten.Add(E_reisebeginnmi.text);
Daten.Add(E_reisebeginndo.text);
Daten.Add(E_reisebeginnfr.text);
Daten.Add(E_reisebeginnsa.text);
Daten.Add(E_reisebeginnso.text);
Daten.Add(E_reiseendemo.text);
Daten.Add(E_reiseendedi.text);
Daten.Add(E_reiseendemi.text);
Daten.Add(E_reiseendedo.text);
Daten.Add(E_reiseendefr.text);
Daten.Add(E_reiseendesa.text);
Daten.Add(E_reiseendeso.text);
Daten.Add(IntToStr(C_zeitverschiebungmo.itemindex));
Daten.Add(IntToStr(C_zeitverschiebungdi.itemindex));
Daten.Add(IntToStr(C_zeitverschiebungmi.itemindex));
Daten.Add(IntToStr(C_zeitverschiebungdo.itemindex));
Daten.Add(IntToStr(C_zeitverschiebungfr.itemindex));
Daten.Add(IntToStr(C_zeitverschiebungsa.itemindex));
Daten.Add(IntToStr(C_zeitverschiebungso.itemindex));
Daten.Add(E_rückreisereisebeginnmo.text);
Daten.Add(E_rückreisereisebeginndi.text);
Daten.Add(E_rückreisereisebeginnmi.text);
Daten.Add(E_rückreisereisebeginndo.text);
Daten.Add(E_rückreisereisebeginnfr.text);
Daten.Add(E_rückreisereisebeginnsa.text);
Daten.Add(E_rückreisereisebeginnso.text);
Daten.Add(E_arbeitsbeginnmo.text);
Daten.Add(E_arbeitsbeginndi.text);
Daten.Add(E_arbeitsbeginnmi.text);
Daten.Add(E_arbeitsbeginndo.text);
Daten.Add(E_arbeitsbeginnfr.text);
Daten.Add(E_arbeitsbeginnsa.text);
Daten.Add(E_arbeitsbeginnso.text);
//Memo Felder
{Daten.Add(Memo_Arbeiten.Text);
Daten.Add(Memo_Ersatzteile.Text); }
//Variablen speichern
//Anreise
Daten.Add(FloatToStr(GesamtStundenMo));
Daten.Add(FloatToStr(GesamtStundenDi));
Daten.Add(FloatToStr(GesamtStundenMi));
Daten.Add(FloatToStr(GesamtStundenDo));
Daten.Add(FloatToStr(GesamtStundenFr));
Daten.Add(FloatToStr(GesamtStundenSa));
Daten.Add(FloatToStr(GesamtStundenSo));
//Rückreise
Daten.Add(FloatToStr(RückreiseGesamtStundenMo));
Daten.Add(FloatToStr(RückreiseGesamtStundenDi));
Daten.Add(FloatToStr(RückreiseGesamtStundenMi));
Daten.Add(FloatToStr(RückreiseGesamtStundenDo));
Daten.Add(FloatToStr(RückreiseGesamtStundenFr));
Daten.Add(FloatToStr(RückreiseGesamtStundenSa));
Daten.Add(FloatToStr(RückreiseGesamtStundenso));
//Arbeit
Daten.Add(FloatToStr(GesamtArbeitsStundenMo));
Daten.Add(FloatToStr(GesamtArbeitsStundenDi));
Daten.Add(FloatToStr(GesamtArbeitsStundenMi));
Daten.Add(FloatToStr(GesamtArbeitsStundenDo));
Daten.Add(FloatToStr(GesamtArbeitsStundenFr));
Daten.Add(FloatToStr(GesamtArbeitsStundenSa));
Daten.Add(FloatToStr(GesamtArbeitsStundenSo));
//Gesamt
Daten.Add(FloatToStr(GesamtStundenErgebnisMo));
Daten.Add(FloatToStr(GesamtStundenErgebnisDo));
Daten.Add(FloatToStr(GesamtStundenErgebnisMi));
Daten.Add(FloatToStr(GesamtStundenErgebnisDo));
Daten.Add(FloatToStr(GesamtStundenErgebnisFr));
Daten.Add(FloatToStr(GesamtStundenErgebnisSa));
Daten.Add(FloatToStr(GesamtStundenErgebnisSo));
Daten.SaveToFile(TPath.GetDocumentsPath+TPath.DirectorySeparatorChar+'einstellungen.txt');
showmessage('Ihre Eingaben wurden' +#13+ 'am '+ DateToStr(D_montagezeitvon.Date) +#13+ ' um '+ TimeToStr(Now) +#13+ ' erfolgreich gespeichert!');
end;
end;
Laden:
Delphi-Quellcode:
procedure THeaderFooterwithNavigation.B_ladenClick(Sender: TObject);
var
Daten: TStringList;
begin
if MessageDlg('Möchten Sie die zuletzt gespeicherte Datei wirklich laden?',
TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0, TMsgDlgBtn.mbYes) = mrYes then
begin
Daten := TStringList.Create;
Daten.LoadFromFile(TPath.GetDocumentsPath+TPath.DirectorySeparatorChar+'einstellungen.txt');
//Kopf
E_auftragnr.text := Daten[0];
E_montagefirma.text := Daten[1];
E_maschinentyp.text := Daten[2];
E_artderarbeit.text := Daten[3];
E_servicetechniker.text := Daten[4];
E_land.itemindex := StrToint(Daten[5]);
E_komnr.text := Daten[6];
D_montagezeitvon.date := StrToDate(Daten[7]);
D_montagezeitbis.date := StrToDate(Daten[8]);
//Mitte
D_datummo.date := StrToDate(Daten[9]);
D_datumdi.date := StrToDate(Daten[10]);
D_datummi.date := StrToDate(Daten[11]);
D_datumdo.date := StrToDate(Daten[12]);
D_datumfr.date := StrToDate(Daten[13]);
D_datumsa.date := StrToDate(Daten[14]);
D_datumso.date := StrToDate(Daten[15]);
//Anreise
E_reisebeginnmo.text := Daten[16];
E_reisebeginndi.text := Daten[17];
E_reisebeginnmi.text := Daten[18];
E_reisebeginndo.text := Daten[19];
E_reisebeginnfr.text := Daten[20];
E_reisebeginnsa.text := Daten[21];
E_reisebeginnso.text := Daten[22];
E_reiseendemo.text := Daten[23];
E_reiseendedi.text := Daten[24];
E_reiseendemi.text := Daten[25];
E_reiseendedo.text := Daten[26];
E_reiseendefr.text := Daten[27];
E_reiseendesa.text := Daten[28];
E_reiseendeso.text := Daten[29];
C_zeitverschiebungmo.itemindex := StrToInt(Daten[30]);
C_zeitverschiebungdi.itemindex := StrToInt(Daten[31]);
C_zeitverschiebungmi.itemindex := StrToInt(Daten[32]);
C_zeitverschiebungdo.itemindex := StrToInt(Daten[33]);
C_zeitverschiebungfr.itemindex := StrToInt(Daten[34]);
C_zeitverschiebungsa.itemindex := StrToInt(Daten[35]);
C_zeitverschiebungso.itemindex := StrToInt(Daten[36]);
//Rückreise
E_rückreisereisebeginnmo.text := Daten[37];
E_rückreisereisebeginndi.text := Daten[38];
E_rückreisereisebeginnmi.text := Daten[39];
E_rückreisereisebeginndo.text := Daten[40];
E_rückreisereisebeginnfr.text := Daten[41];
E_rückreisereisebeginnsa.text := Daten[42];
E_rückreisereisebeginnso.text := Daten[43];
//Arbeit
E_arbeitsbeginnmo.text := Daten[44];
E_arbeitsbeginndi.text := Daten[45];
E_arbeitsbeginnmi.text := Daten[46];
E_arbeitsbeginndo.text := Daten[47];
E_arbeitsbeginnfr.text := Daten[48];
E_arbeitsbeginnsa.text := Daten[49];
E_arbeitsbeginnso.text := Daten[50];
//Variablen
//Anreise
GesamtStundenMo := StrToFloat(Daten[51]);
GesamtStundenDi := StrToFloat(Daten[52]);
GesamtStundenMi := StrToFloat(Daten[53]);
GesamtStundenDo := StrToFloat(Daten[54]);
GesamtStundenFr := StrToFloat(Daten[55]);
GesamtStundenSa := StrToFloat(Daten[56]);
GesamtStundenSo := StrToFloat(Daten[57]);
//Rückreise
RückreiseGesamtStundenMo := StrToFloat(Daten[58]);
RückreiseGesamtStundenDi := StrToFloat(Daten[59]);
RückreiseGesamtStundenMi := StrToFloat(Daten[60]);
RückreiseGesamtStundenDo := StrToFloat(Daten[61]);
RückreiseGesamtStundenFr := StrToFloat(Daten[62]);
RückreiseGesamtStundenSa := StrToFloat(Daten[63]);
RückreiseGesamtStundenso := StrToFloat(Daten[64]);
//Arbeit
GesamtArbeitsStundenMo := StrToFloat(Daten[65]);
GesamtArbeitsStundenDi := StrToFloat(Daten[66]);
GesamtArbeitsStundenMi := StrToFloat(Daten[67]);
GesamtArbeitsStundenDo := StrToFloat(Daten[68]);
GesamtArbeitsStundenFr := StrToFloat(Daten[69]);
GesamtArbeitsStundenSa := StrToFloat(Daten[70]);
GesamtArbeitsStundenSo := StrToFloat(Daten[71]);
//Gesamt
GesamtStundenErgebnisMo := StrToFloat(Daten[72]);
GesamtStundenErgebnisDo := StrToFloat(Daten[73]);
GesamtStundenErgebnisMi := StrToFloat(Daten[74]);
GesamtStundenErgebnisDo := StrToFloat(Daten[75]);
GesamtStundenErgebnisFr := StrToFloat(Daten[76]);
GesamtStundenErgebnisSa := StrToFloat(Daten[77]);
GesamtStundenErgebnisSo := StrToFloat(Daten[78]);
//Anzeige
//Anreise
E_ReiseStundenMo.Text := FloatToStrF(GesamtStundenMo,ffNumber,5,2);
E_ReiseStundenDi.Text := FloatToStrF(GesamtStundenDi,ffNumber,5,2);
E_ReiseStundenMi.Text := FloatToStrF(GesamtStundenMi,ffNumber,5,2);
E_ReiseStundenDo.Text := FloatToStrF(GesamtStundenDo,ffNumber,5,2);
E_ReiseStundenFr.Text := FloatToStrF(GesamtStundenFr,ffNumber,5,2);
E_ReiseStundenSa.Text := FloatToStrF(GesamtStundenSa,ffNumber,5,2);
E_ReiseStundenSo.Text := FloatToStrF(GesamtStundenSo,ffNumber,5,2);
//Arbeit
E_ArbeitsStdMo.Text := FloatToStrF(GesamtArbeitsStundenMo,ffNumber,5,2);
E_ArbeitsStdDi.Text := FloatToStrF(GesamtArbeitsStundenDi,ffNumber,5,2);
E_ArbeitsStdMi.Text := FloatToStrF(GesamtArbeitsStundenMi,ffNumber,5,2);
E_ArbeitsStdDo.Text := FloatToStrF(GesamtArbeitsStundenDo,ffNumber,5,2);
E_ArbeitsStdFr.Text := FloatToStrF(GesamtArbeitsStundenFr,ffNumber,5,2);
E_ArbeitsStdSa.Text := FloatToStrF(GesamtArbeitsStundenSa,ffNumber,5,2);
E_ArbeitsStdSo.Text := FloatToStrF(GesamtArbeitsStundenSo,ffNumber,5,2);
//Rückreise
E_RückreiseReiseStundenMo.Text := FloatToStrF(RückreiseGesamtStundenMo,ffNumber,5,2);
E_RückreiseReiseStundenDi.Text := FloatToStrF(RückreiseGesamtStundenDi,ffNumber,5,2);
E_RückreiseReiseStundenMi.Text := FloatToStrF(RückreiseGesamtStundenMi,ffNumber,5,2);
E_RückreiseReiseStundenDo.Text := FloatToStrF(RückreiseGesamtStundenDo,ffNumber,5,2);
E_RückreiseReiseStundenFr.Text := FloatToStrF(RückreiseGesamtStundenFr,ffNumber,5,2);
E_RückreiseReiseStundenSa.Text := FloatToStrF(RückreiseGesamtStundenSa,ffNumber,5,2);
E_RückreiseReiseStundenSo.Text := FloatToStrF(RückreiseGesamtStundenSo,ffNumber,5,2);
//Gesamt
E_GesamtStdMo.text := FloatToStrF(GesamtStundenErgebnisMo,ffNumber,5,2);
E_GesamtStdDi.text := FloatToStrF(GesamtStundenErgebnisDi,ffNumber,5,2);
E_GesamtStdMi.text := FloatToStrF(GesamtStundenErgebnisMi,ffNumber,5,2);
E_GesamtStdDo.text := FloatToStrF(GesamtStundenErgebnisDo,ffNumber,5,2);
E_GesamtStdFr.text := FloatToStrF(GesamtStundenErgebnisFr,ffNumber,5,2);
E_GesamtStdSa.text := FloatToStrF(GesamtStundenErgebnisSa,ffNumber,5,2);
E_GesamtStdSo.text := FloatToStrF(GesamtStundenErgebnisSo,ffNumber,5,2);
end;
end;
Ich weiß, schwer schwer umständlich das ganze, zumal ich auch Probleme habe ein Memo Feld mit mehreren Zeilen abzuspeichern. Dafür müsste ich ja jeder Zeile eine andere [Zahl] zuweisen.
Geht das alles nicht sowieso viel einfacher? Schwer viel arbeit, haha.
Aber das funktioniert ja alles. Ich habe wie gesagt nur Probleme, wenn ich eine Datei speichere und sie dann bei "FormCreate" sofort laden möchte.
André Bender - Der PC rechnet mit allem, nur nicht mit seinem Besitzer. -
Geändert von ZeroX1337 ( 7. Aug 2014 um 11:42 Uhr)
|