Brauche Hilfe bei Tdbf

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Brauche Hilfe bei Tdbf

Beitrag von MAC »

Hallo.
Ich habe mich mal mit Lazarus versucht, aber ich will bei einem Programm nicht jedesmal alles neu eingeben, also brauch ich ne datenbank...

So, datenbankerstellen ist kein Problem, dafür gibts ja nen Tutorial auf der Lazarus seite.
Aber da ich ja "keine Ahnung" von Lazarus habe weis ich ned wie man die Datensätze abruft. :shock: .

Könnte mir da jemand nen Code eingeben den ich brauche um eine Datei in einer Tmemo anzuzeigen ?

z.B.

Code: Alles auswählen

memo1.text := MyDbf.FieldDefs ;
oder so ?

Außerdem ne Frage zu

Code: Alles auswählen

With MyDbf.FieldDefs do
  begin
    Add('Id', ftAutoInc, 0, True);
    Add('Name', ftString, 80, True);
  End;
Add('Name', ftString, 80, True); <-- soweit ich weis ist das ein neuer Eintrag.
Aber: ist 'Name' der Name oder der DisplayName ?
Was bedeutet ftString , ist das nen ganz normaler String ? was ist der unterschied zu ftAutoInc ?
Was hat die 80 zu bedeuten
Und wofür steht da True ?

Was muss ich Machen wenn ich während des Programms eib Eintrag "Textfeld1" mit dem DisplayName "Textfeld1.Name" ? Bitte Code geben...

Und noch ne Frage: Ist das Schlimm wenn ich eine TMemo und keine TDBmemo benutze ? Was ist der Unterschied ?


Vielen Dank, ich weis die Fragen sind dämlich weil jeder die Antwort weis, ich aber leider ned :(

Code: Alles auswählen

Signatur := nil;

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Brauche Hilfe bei Tdbf

Beitrag von monta »

aber ich will bei einem Programm nicht jedesmal alles neu eingeben, also brauch ich ne datenbank...
Willst du nur einfache Feldwerte speichern, um bspw. nicht jedesmal ein Ed9t mit immer dem selben Wert zu füllen? Dann ist TXMLPropStorage wesentlich bequemmer.

Meinst du diese Tutorial:
http://wiki.freepascal.org/Lazarus_Tdbf ... on_Feldern" onclick="window.open(this.href);return false;

da steht bspw. drin, was ftstring ist, es ist der Feldtyp.
'Name' ist der Spaltenname und die 80 gibt an, wie lang der string sein darf, also in diesem Fall 80 Zeichen.
Johannes

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Brauche Hilfe bei Tdbf

Beitrag von MAC »

Ja ich will einfache Feldwerte speichern, aber die müssen auch variable seien (wenn es immer das gleiche ist würde man es ja ned als TEdit machen :) )

Jo das Toturial wars

Vielen Dank, ich schau mir das mir TXMLPropStorage mal an.


Edit: Klappt doch

False :arrow: Ne das klappt iwie ned. Ich will das z.B. so:

1. Das Programm fragtmich nach einer Punktzahl
2. Ich gebe sie an
3. ich schließe das Program
4. Am nächste Tag mach ich es nochmal an
5. Das Programm fragt mich nochmal
6. Ich gebe die Punktzahl an
7. Das programm hat sich die letzte Punktzahl gespeichert und vergleicht.

False :arrow: Und so wie ich das finde kann eine TXMLPropStorage variable 'test' keinen neuen Wert bekommen / und oder speichert das nicht . Oder hab ich da was falsch gemacht ?

Zum Beispiel: es reicht wenn er sich die Punktzahl von "Heute" und "Gestern" merkt also der muss nicht jeden Tag ne neue Variable "Vorgesern" erstellen...


Edit2:

Klappt jetzt aufeinmal Perfekt.... Keine Ahnung wieso, aber egal.

Habe es so gemacht:

Code: Alles auswählen

XMLPropStorage1.StoredValue['Ttest'] := Edit1.Text ;
Edit1.Text := XMLPropStorage1.StoredValue['Ttest'] ;
Das raft der ned. Der ändert das Edit1.Text ned . wenn ich aber unter nem extraknopf

Code: Alles auswählen

Edit1.Text := XMLPropStorage1.StoredValue['Ttest'] ;
schreibe sieht man das ers doch gespeichert hat... Diese technick :lol:
Vielen Dank monta :!: :!: :!:

Aber wie mache ich das , dass der Variablen nicht bei jedem start einen vert gibt, sondern nur einmal und danach bleibt der wert , den der user eistellt ?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Brauche Hilfe bei Tdbf

Beitrag von af0815 »

MAC hat geschrieben:Aber wie mache ich das , dass der Variablen nicht bei jedem start einen vert gibt, sondern nur einmal und danach bleibt der wert , den der user eistellt ?
Im OnCreate des Formulars den Wert lesen (wenn einer da ist -ansonst default Wert setzen) und im OnDestroy wieder speichern (wenn geändert).
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Brauche Hilfe bei Tdbf

Beitrag von MAC »

Thx

Jetzt nen Fehler der eigentlich nix mit Tdbf zu tun hat, ist es aber nicht wert neues Thema zu schreiben.

Code: Alles auswählen

Energie := Trunc (20 * StrToInt(Edit13.Text)* 1.1  ^ StrToInt(Edit13.Text))  ;
Ein ganz normaler rechenschritt, doch Lazarus kennt ^ ned , was benutzt man dann ?

Code: Alles auswählen

Signatur := nil;

Benutzeravatar
theo
Beiträge: 10862
Registriert: Mo 11. Sep 2006, 19:01

Re: Brauche Hilfe bei Tdbf

Beitrag von theo »

uses Math;

res:=base ** expo;

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Brauche Hilfe bei Tdbf

Beitrag von MAC »

Danke

Code: Alles auswählen

Signatur := nil;

Antworten