AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firemonkey abspeichern (iOS)

Firemonkey abspeichern (iOS)

Ein Thema von ZeroX1337 · begonnen am 28. Jul 2014 · letzter Beitrag vom 7. Aug 2014
 
Benutzerbild von ZeroX1337
ZeroX1337

Registriert seit: 17. Jul 2014
Ort: Siegen
28 Beiträge
 
Delphi XE6 Starter
 
#22

AW: Firemonkey abspeichern (iOS)

  Alt 7. Aug 2014, 10: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 10:42 Uhr)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 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