Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firemonkey abspeichern (iOS) (https://www.delphipraxis.net/181234-firemonkey-abspeichern-ios.html)

Sir Rufo 7. Aug 2014 09:52

AW: Firemonkey abspeichern (iOS)
 
Zitat:

Zitat von Darlo (Beitrag 1267848)
[Glaskugelmodus on]
Projekt wird neu erzeugt und aufs Gerät geschoben. Alle zur Laufzeit angelegten Dateien sind wieder futsch und die zu ladende Datei wird nicht über die Bereitstellung mitgeliefert.
[Glaskugelmodus off]

Aber lassen wir uns überraschen :)

[Lesebrille auf]
Zitat:

Zitat von ZeroX1337 (Beitrag 1267830)
Per Button kann ich die laden...

[Lesebrille ab]
:mrgreen:

Wenn doch die Datei fehlt, brauche ich deine PayPal-Daten :)

ZeroX1337 7. Aug 2014 10:36

AW: Firemonkey abspeichern (iOS)
 
Warum soll ich einen Quellcode posten, wenn der hier bereits gepostet wurde und ich diesen verwendet habe? :D

Zitat:

Zitat von Darlo (Beitrag 1267612)
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.

mkinzler 7. Aug 2014 10:43

AW: Firemonkey abspeichern (iOS)
 
Zu diesem Zeitpunkt gibt es ja die Unterkomponenten noch nicht. Nimm besser Loaded

Sir Rufo 7. Aug 2014 10:47

AW: Firemonkey abspeichern (iOS)
 
Es ist anscheinend schwerer als ich gedacht habe :roll:

Zeige uns per CopyPaste den Quelltext der Methode
Delphi-Quellcode:
FormCreate
.
Meinst du das wäre machbar?

Zitat:

Zitat von ZeroX1337 (Beitrag 1267869)
Warum soll ich einen Quellcode posten, wenn der hier bereits gepostet wurde und ich diesen verwendet habe? :D

Weil es einfach nicht exakt der gleiche Quellcode ist? :roll:

matthiaskary 7. Aug 2014 10:49

AW: Firemonkey abspeichern (iOS)
 
Hallo,
was du auch mal probieren kannst, das ganze im FormShow anstelle
vom FormCreate zu laden.

ZeroX1337 7. Aug 2014 11:01

AW: Firemonkey abspeichern (iOS)
 
Zitat:

Zitat von Sir Rufo (Beitrag 1267872)
Zeige uns per CopyPaste den Quelltext der Methode FormCreate .
Meinst du das wäre machbar?

Bitte kein Sarkasmus. :P

Kleinen Moment bitte. Muss das erst noch mal schreiben. Das ist ja eine andere Textdatei.

Zitat:

Zitat von matthiaskary (Beitrag 1267873)
Hallo,
was du auch mal probieren kannst, das ganze im FormShow anstelle
vom FormCreate zu laden.

Werde ich gleich auch mal versuchen, danke.

ZeroX1337 7. Aug 2014 11:07

AW: Firemonkey abspeichern (iOS)
 
Speichern Profil: Nur die ersten Zeilen sind interessant, das andere sind die verschiedenen Sprachen.
Delphi-Quellcode:
procedure THeaderFooterwithNavigation.B_speichernoptionenClick(Sender: TObject);
var
    Profil: TStringList;
begin
   Profil := TStringList.Create;

   Profil.Add(E_vorname.text);
   Profil.Add(E_nachname.text);

   Profil.SaveToFile(TPath.GetDocumentsPath+TPath.DirectorySeparatorChar+'profil.txt');
  //Hintergrund Bild
    if C_hintergrundbild.ItemIndex = 0 then
          HintergrundBlur.Visible := True;

    if C_hintergrundbild.ItemIndex = 1 then
          begin
          HintergrundBlur.Visible := False;
          HintergrundWeiß.Visible := True;
          end;

    if C_hintergrundbild.ItemIndex = 2 then
          begin
          HintergrundBlur.Visible := False;
          HintergrundWeiß.Visible := False;
          end;

  // Techniker Name Übertragen
  HeaderFooterwithNavigation.E_Servicetechniker.text := ( E_vorname.Text + ' ' + E_nachname.Text );

  // Sprache Englisch
if C_Sprache.ItemIndex = 1 then
  begin
  HeaderFooterwithNavigation.Tab_anreise.Text := 'Arrival';
  HeaderFooterwithNavigation.Tab_arbeit.Text := 'Work';
  HeaderFooterwithNavigation.Tab_rückreise.Text := 'Way back';
  HeaderFooterwithNavigation.L_datum.Text := 'Date';
  HeaderFooterwithNavigation.L_arbeitsbeginn.Text := 'Start of work';
  HeaderFooterwithNavigation.L_arbeitsende.Text := 'Work finished';
  HeaderFooterwithNavigation.L_arbeitsstd.Text := 'Work total';
  HeaderFooterwithNavigation.L_gesamtstd.Text := 'Total hours';
  HeaderFooterwithNavigation.L_warte.Text := 'Wait';
  HeaderFooterwithNavigation.L_mo.Text := 'Mon';
  HeaderFooterwithNavigation.L_di.Text := 'Tue';
  HeaderFooterwithNavigation.L_mi.Text := 'Wed';
  HeaderFooterwithNavigation.L_do.Text := 'Thr';
  HeaderFooterwithNavigation.L_fr.Text := 'Fri';
  HeaderFooterwithNavigation.L_sa.Text := 'Sat';
  HeaderFooterwithNavigation.L_so.Text := 'Sun';
  HeaderFooterwithNavigation.L_montagesundennachweis.Text := 'TIME-SHEET';
  HeaderFooterwithNavigation.L_auftragnr.Text := 'Order no.:';
  HeaderFooterwithNavigation.L_montagebeifirma.Text := 'Company name:';
  HeaderFooterwithNavigation.L_maschinentyp.Text := 'Machine type:';
  HeaderFooterwithNavigation.L_artderarbeit.Text := 'Kind of work:';
  HeaderFooterwithNavigation.L_Servicetechniker.Text := 'Technician:';
  HeaderFooterwithNavigation.L_Land.Text := 'Country:';
  HeaderFooterwithNavigation.L_Komnr.Text := 'Com. No.:';
  HeaderFooterwithNavigation.L_Montagezeiten.Text := 'Assembly';
  HeaderFooterwithNavigation.L_vonbis.Text := 'carried out:';
  HeaderFooterwithNavigation.L_bestätigung.Text := 'The customer herewith confirms the legally acceptance of the machine and/or the installation of same above time listing.';
  HeaderFooterwithNavigation.L_auftraggeber.Text := 'Customer';
  HeaderFooterwithNavigation.L_Monteur.Text := 'Technician';
  HeaderFooterwithNavigation.btnBack.Text := 'Back';
  HeaderFooterwithNavigation.B_zurücksetzen.Text := 'Clear fields';
  HeaderFooterwithNavigation.B_verschicken.Text := 'Send';
  HeaderFooterwithNavigation.B_laden.Text := 'Load';
  HeaderFooterwithNavigation.B_speichern.Text := 'Save';
  HeaderFooterwithNavigation.L_datumanreise.Text := 'Date';
  HeaderFooterwithNavigation.L_Reisebeginnanreise.Text := 'Begin';
  HeaderFooterwithNavigation.L_Reiseendeanreise.Text := 'End';
  HeaderFooterwithNavigation.L_zvanreise.Text := 'TS';
  HeaderFooterwithNavigation.L_reisestdanreise.Text := 'Hours';
  HeaderFooterwithNavigation.L_datumrückreise.Text := 'Date';
  HeaderFooterwithNavigation.L_Reisebeginnrückreise.Text := 'Begin';
  HeaderFooterwithNavigation.L_Reiseenderückreise.Text := 'End';
  HeaderFooterwithNavigation.L_zvrückreise.Text := 'TS';
  HeaderFooterwithNavigation.L_reisestdrückreise.Text := 'Hours';
  HeaderFooterwithNavigation.L_durchgeführtearbeiten.Text := 'Action taken, Remarks';
  HeaderFooterwithNavigation.L_benötigteersatzteile.Text := 'Parts required';
  HeaderFooterwithNavigation.L_Optionenoptionen.Text := 'Options';
  HeaderFooterwithNavigation.L_technikeroptionen.Text := 'Technician:';
  HeaderFooterwithNavigation.L_spracheoptionen.Text := 'Language:';
  HeaderFooterwithNavigation.L_hintergrundbildoptionen.Text := 'Background:';
  HeaderFooterwithNavigation.L_nachnameoptionen.Text := 'Last name';
  HeaderFooterwithNavigation.L_vornameoptionen.Text := 'First name';
  HeaderFooterwithNavigation.B_speichernoptionen.Text := 'Save';
  HeaderFooterwithNavigation.B_abbrechenoptionen.Text := 'Cancel';
  L_unterschriftinfo.Text := 'Enter your signature here!';
  L_unterschrift.Text := 'Signature';
  B_speichernunterschriftauftraggeber.text := 'Save';
  B_abbrechenunterschrift.text := 'Cancel';
  L_neu.text := 'New';
  B_speichernunterschriftmonteur.text := 'Save';
  B_abbrechenunterschriftmonteur.text := 'Cancel';
  B_neumonteur.text := 'New';
  B_optionen.Text := 'Options'
  end;

  // Sprache Deutsch
if C_Sprache.ItemIndex = 0 then
begin
  HeaderFooterwithNavigation.Tab_anreise.Text := 'Anreise';
  HeaderFooterwithNavigation.Tab_arbeit.Text := 'Arbeit';
  HeaderFooterwithNavigation.Tab_rückreise.Text := 'Rückreise';
  HeaderFooterwithNavigation.L_datum.Text := 'Datum';
  HeaderFooterwithNavigation.L_arbeitsbeginn.Text := 'Arbeitsbeginn';
  HeaderFooterwithNavigation.L_arbeitsende.Text := 'Arbeitsende';
  HeaderFooterwithNavigation.L_arbeitsstd.Text := 'Arbeitsstd.';
  HeaderFooterwithNavigation.L_gesamtstd.Text := 'Gesamtstd.';
  HeaderFooterwithNavigation.L_warte.Text := 'Warte';
  HeaderFooterwithNavigation.L_mo.Text := 'Mo';
  HeaderFooterwithNavigation.L_di.Text := 'Di';
  HeaderFooterwithNavigation.L_mi.Text := 'Mi';
  HeaderFooterwithNavigation.L_do.Text := 'Do';
  HeaderFooterwithNavigation.L_fr.Text := 'Fr';
  HeaderFooterwithNavigation.L_sa.Text := 'Sa';
  HeaderFooterwithNavigation.L_so.Text := 'So';
  HeaderFooterwithNavigation.L_montagesundennachweis.Text := 'Montage-Stunden-Nachweis';
  HeaderFooterwithNavigation.L_auftragnr.Text := 'Auftrag Nr.:';
  HeaderFooterwithNavigation.L_montagebeifirma.Text := 'Montage bei Firma:';
  HeaderFooterwithNavigation.L_maschinentyp.Text := 'Maschinentyp:';
  HeaderFooterwithNavigation.L_artderarbeit.Text := 'Art der Arbeit:';
  HeaderFooterwithNavigation.L_Servicetechniker.Text := 'Servicetechniker:';
  HeaderFooterwithNavigation.L_Land.Text := 'Land:';
  HeaderFooterwithNavigation.L_Komnr.Text := 'Kom. Nr.:';
  HeaderFooterwithNavigation.L_Montagezeiten.Text := 'Montagezeiten:';
  HeaderFooterwithNavigation.L_vonbis.Text := '(von/bis)';
  HeaderFooterwithNavigation.L_bestätigung.Text := 'Hiermit bestätigt der Auftraggeber die rechtsverbindliche Abnahme der Maschine und/oder der ausgeführten Montagearbeiten sowie die Richtigkeit der vorstehenden Aufstellung.';
  HeaderFooterwithNavigation.L_auftraggeber.Text := 'Auftraggeber';
  HeaderFooterwithNavigation.L_Monteur.Text := 'Monteur';
  HeaderFooterwithNavigation.btnBack.Text := 'Zurück';
  HeaderFooterwithNavigation.B_zurücksetzen.Text := 'Felder zurücksetzen';
  HeaderFooterwithNavigation.B_verschicken.Text := 'Verschicken';
  HeaderFooterwithNavigation.B_laden.Text := 'Laden';
  HeaderFooterwithNavigation.B_speichern.Text := 'Speichern';
  HeaderFooterwithNavigation.L_datumanreise.Text := 'Datum';
  HeaderFooterwithNavigation.L_Reisebeginnanreise.Text := 'Reisebeginn';
  HeaderFooterwithNavigation.L_Reiseendeanreise.Text := 'Reiseende';
  HeaderFooterwithNavigation.L_zvanreise.Text := 'ZV';
  HeaderFooterwithNavigation.L_reisestdanreise.Text := 'Reisestunden';
  HeaderFooterwithNavigation.L_datumrückreise.Text := 'Datum';
  HeaderFooterwithNavigation.L_Reisebeginnrückreise.Text := 'Reisebeginn';
  HeaderFooterwithNavigation.L_Reiseenderückreise.Text := 'Reiseende';
  HeaderFooterwithNavigation.L_zvrückreise.Text := 'ZV';
  HeaderFooterwithNavigation.L_reisestdrückreise.Text := 'Reisestunden';
  HeaderFooterwithNavigation.L_durchgeführtearbeiten.Text := 'Durchgeführte Arbeiten, Bemerkungen';
  HeaderFooterwithNavigation.L_benötigteersatzteile.Text := 'Benötigte Ersatzteile';
  HeaderFooterwithNavigation.L_Optionenoptionen.Text := 'Optionen';
  HeaderFooterwithNavigation.L_technikeroptionen.Text := 'Techniker:';
  HeaderFooterwithNavigation.L_spracheoptionen.Text := 'Sprache:';
  HeaderFooterwithNavigation.L_hintergrundbildoptionen.Text := 'Hintergrundbild:';
  HeaderFooterwithNavigation.L_nachnameoptionen.Text := 'Nachname';
  HeaderFooterwithNavigation.L_vornameoptionen.Text := 'Vorname';
  HeaderFooterwithNavigation.B_speichernoptionen.Text := 'Speichern';
  HeaderFooterwithNavigation.B_abbrechenoptionen.Text := 'Abbrechen';
  L_unterschriftinfo.Text := 'Setzen Sie hier Ihre Unterschrift!';
  L_unterschrift.Text := 'Unterschrift';
  B_speichernunterschriftauftraggeber.text := 'Speichern';
  B_abbrechenunterschrift.text := 'Abbrechen';
  L_neu.text := 'Neu';
  B_speichernunterschriftmonteur.text := 'Speichern';
  B_abbrechenunterschriftmonteur.text := 'Abbrechen';
  B_neumonteur.text := 'Neu';
  B_optionen.Text := 'Optionen'
end;

  P_optionen.Visible := false;
  HintergrundSchwarz.Visible := false;

HintergrundSchwarzTop.Visible := false;
HintergrundSchwarzBot.Visible := false;
end;
Laden Profil:
Delphi-Quellcode:
procedure THeaderFooterwithNavigation.FormCreate(Sender: TObject);
var
    ende, start: TDateTime;
    Daten: TStringList;
    Profil: TStringList;
begin
  { This defines the default active tab at runtime }
  TabControl1.First(TTabTransition.ttNone);
  Tab_Formular.TabIndex := 1;

  //Montagezeit initialisierung
  D_montagezeitvon.Date := Date();
  D_datummo.date := StartOfTheWeek(D_montagezeitvon.date);
  D_montagezeitbis.Date := D_datummo.Date + 6;
  D_datumdi.Date := D_datummo.Date +1;
  D_datummi.Date := D_datummo.Date +2;
  D_datumdo.Date := D_datummo.Date +3;
  D_datumfr.Date := D_datummo.Date +4;
  D_datumsa.Date := D_datummo.Date +5;
  D_datumso.Date := D_datummo.Date +6;

  //Optionen Feld wird ausgeblendet bei Start
  P_optionen.Visible := false;

  //HintergrundSchwarz wird bei Start ausgeblendet
  HintergrundSchwarz.Visible   := false;
  HintergrundSchwarzTop.Visible := false;
  HintergrundSchwarzBot.Visible := false;

  // Für Unterschrift
  Signature:= TList<TSigCapRec>.Create;
  P_unterschrift.Visible := false;
  // Für Unterschrift Auftraggeber
  Image_UnterschriftAuftraggeber.Bitmap.Assign(R_UnterschriftAuftraggeber.MakeScreenshot);
  // Für Unterschrift Monteur
  Image_UnterschriftMonteur.Bitmap.Assign(R_UnterschriftAuftraggeber.MakeScreenshot);

  //Profil laden
  Profil := TStringList.Create;
  Profil.LoadFromFile(TPath.GetDocumentsPath+TPath.DirectorySeparatorChar+'profil.txt');

  E_servicetechniker.Text := Profil[0] + Profil[1];

end;

Sir Rufo 7. Aug 2014 11:15

AW: Firemonkey abspeichern (iOS)
 
Bin ich jetzt der Einzige, der sich denkt, was hat #27 mit #22 zu tun :wall:

Was sagt der Debugger, in welcher Zeile verabschiedet sich das Programm?
(zieh jedes Haar einzeln aus der Nase)

PS Wenn du keinen Sarkasmus magst, dann poste doch selbständig alle relevanten Informationen zur Frage

ZeroX1337 7. Aug 2014 11:22

AW: Firemonkey abspeichern (iOS)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Sir Rufo (Beitrag 1267879)
Bin ich jetzt der Einzige, der sich denkt, was hat #27 mit #22 zu tun :wall:

Was sagt der Debugger, in welcher Zeile verabschiedet sich das Programm?
(zieh jedes Haar einzeln aus der Nase)

Bei #22 ging es darum, Einstellungen zu laden. Bei #27 geht es darum, Profileinstellungen zu laden WÄHREND dem Start, so dass das Formular immer dementsprechend aussieht wie es zuvor abgespeichert wurde. Als Beispiel halt mit dem Namen des Servicetechnikers. So muss er ihn nur einmalig eintragen.

Tut mir leid, ich programmiere erst seit dem ich im Praktikum bin und habe auf Hilfe hier im Forum gehofft, ohne dämliche Zwischenbemerkungen. Habe die App bisher immer ohne Debugger gestartet, da er das Programm dann viel schneller ausführt. Vielleicht etwas dämlich von mir.

Jetzt funktioniert das ganze jedoch. Habe den Fehler gefunden. Hatte, als ich das das erste mal ausprobiert habe, vergessen das Feld vom Servicetechniker als Ausgabe anzugeben. Dementsprechend hat er zwar die Sachen geladen, aber nicht ausgeben können.

Zitat:

PS Wenn du keinen Sarkasmus magst, dann poste doch selbständig alle relevanten Informationen zur Frage
Werde mir beim nächsten mal mehr Mühe geben.

Nachtrag: Wie mache ich das mit der Abfrage, ob die Datei besteht? Auf dem Simulator funktioniert es nämlich, auf dem Gerät nicht.

Sir Rufo 7. Aug 2014 11:33

AW: Firemonkey abspeichern (iOS)
 
Deine Ausgangsfrage war doch .... (nochmal nachschauen)
Zitat:

Zitat von ZeroX1337 (Beitrag 1267830)
Ich habe ein Problem. Wenn ich die gespeicherte .txt Datei bei "FormCreate" laden will (im Sinne von Profileinstellung), dann stürzt die App sofort ab. Was mache ich falsch? Per Button kann ich die laden...

Egal ob Anfänger oder nicht, aber das der QuellCode aus #22 absolut gar nichts mit
Delphi-Quellcode:
FormCreate
(laden der 'profil.txt') und somit dem Starten der Anwendung zu tun hat, sollte schon klar sein.

Und da stellt sich doch die berechtigte Frage, warum du uns diesen Teil zeigst mit dem Hinweis
Zitat:

Zitat von ZeroX1337 (Beitrag 1267869)
Warum soll ich einen Quellcode posten, wenn der hier bereits gepostet wurde und ich diesen verwendet habe? :D

Und wie du jetzt selber gesehen hast, konnte man diesen Fehler nur dann erkennen, wenn man den QuellCode für das Speichern und Laden der 'profil.txt' sehen kann.

Darum den echten QuellCode zeigen und kein Verweis auf irgendeinen ähnlich gearteten


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 Uhr.
Seite 3 von 4     123 4      

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