AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Pfad zu einer Datei (*.exe oder *.bat) via OpenDialog in DBEdit einfügen?
Thema durchsuchen
Ansicht
Themen-Optionen

Pfad zu einer Datei (*.exe oder *.bat) via OpenDialog in DBEdit einfügen?

Ein Thema von linuh · begonnen am 22. Mär 2011 · letzter Beitrag vom 25. Mär 2011
Antwort Antwort
linuh

Registriert seit: 22. Mär 2011
2 Beiträge
 
#1

Pfad zu einer Datei (*.exe oder *.bat) via OpenDialog in DBEdit einfügen?

  Alt 22. Mär 2011, 17:30
Datenbank: XML-Datenbank • Version: / • Zugriff über: ClientDataSet/DBEdit
Hi,
Ich hab folgendes Problem:

ich hab mehrere DataSets, die ich in XML-Dateien abspeichere. Diese zeige ich in einem DBGrid an.
Wenn ich Einen neuen Datensatz hinzufügen möchte, wähle ich über eine Combobox das jeweilige DataSet,
direkt danach führe ich

Code:
DBNavigator1.BtnClick(nbLast); //und
DBNavigator1.BtnClick(nbInsert);
aus, sodass meine DBEdits bereit zur Einganbe neuer Daten sind, die ich dann per post befehl ans Ende (deswegen "nbLast") der Tabelle eintragen kann.
So weit so gut.

Jetzt möchte ich in eine Tabellenspalte, jeweils den Pfad zu einer Datei z.B. *.exe oder *.bat eintragen.
Der User soll mit dem OpenDialog die Datei suchen, und der Pfad soll anschließend und das DBEdit eingetragen werden,
sodass der Pfad zur gerade ausgewählten Datei letztlich in der Tabelle unter der Spalte "Pfad" landet und dann auch so abgespeichert werden kann.

Das Problem ist, das wenn ich

Code:
DBEdit.Text:=OpenDialog1.Files.Text;
ausführe, dann schreibt er mir zwar optisch den Pfad ins DBEdit, aber sobald man hineinklickt, verschwindet er wieder.
Und wenn man ohne hineinzuklicken, abspeichert (mit

Code:
CDS_Anwendungen.SaveToFile('.\db\db_anwendungen.xml', dfXML);
)

dann versucht er die XML Datei in dem per Dialog ausgewählten Pfad zu speichern und scheitert logischerweise,
weil ja dort kein ordner sondern eine Datei am Ende steht.

Hab ihr irgendwelche Lösungsvorschläge, wie man das Lösen könnte?

Also, das man mit einem Dialog die Datei auswählt und dann nur der Pfad dieser Datei im DBEdit eingetragen wird,
sodass man aber hinterher noch hineinklicken kann und evtl. etwas ändern kann und ohne dass das DBEdit den Pfad als Speicherziel ansieht.

Danke schon mal im Voraus.

Ich weis, der Text ist nicht proportional zum Problem, aber besser als umgekehrt
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: Pfad zu einer Datei (*.exe oder *.bat) via OpenDialog in DBEdit einfügen?

  Alt 22. Mär 2011, 17:52
Das ist aber umständlich:
Code:
DBNavigator1.BtnClick(nbLast); //und
DBNavigator1.BtnClick(nbInsert);
Ein Dataset hat 4 Methoden, um den Status zu ändern:
Insert - Datensatz einfügen (über aktuellen Datensatz)
Append - Datensatz anhängen (am Ende)
Edit - aktuellen Datensatz editieren
Post - aktuellen Datensatz speichern
Der Code von oben entspricht einfach nur einem Append.
Insert und Append sind sehr ähnlich, Append ist etwas schneller.
Delphi-Quellcode:
// neuen Datensatz speichern
Table1.Append;
DBEdit.Text:=OpenDialog1.Files.Text;
Table1.Post;
Aber das Ändern der Tabellenfelder über die DBEdits ist ebenfalls umständlich und unfein.
Hier ein Beispiel:
Delphi-Quellcode:
// neuen Datensatz speichern
Table1.Append;
Table1['Dateiliste'] :=OpenDialog1.Files.Text;
Table1['SpeicherDatum'] := Now;
Table1['DateiAnzahl'] := OpenDialog1.Files.Count;
Table1.Post;
Andreas
  Mit Zitat antworten Zitat
linuh

Registriert seit: 22. Mär 2011
2 Beiträge
 
#3

AW: Pfad zu einer Datei (*.exe oder *.bat) via OpenDialog in DBEdit einfügen?

  Alt 22. Mär 2011, 18:10
Danke für die Schnelle Antwort.

Sollte ich also beim Eintragen von neuen Datensätzen lieber normale Editfelder nehmen und
die Werte dann folgnedermaßen in meine Tabelle eintragen?

Code:
Table1.Append;
Table1['Name'] := Edit1.Text;
Table1['Typ'] := Edit2.Text;
...
Table1['Pfad'] := Opendialog1.Files.Text;
Table1.Post;
Sind dann die DBEdits nur zum Ändern bzw. Anzeigen von Datensätzen gedacht oder wie hab ich das zu verstehen?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Pfad zu einer Datei (*.exe oder *.bat) via OpenDialog in DBEdit einfügen?

  Alt 25. Mär 2011, 11:39
Hallo,

ein DBEdit zeigt dir den Inhalt eines Feldes eines Datensatzes an.

Statt per DBEdit.Text musst du in die Tabelle schreiben.

Durch dein XXLast (bzw. Append) ist im ClientDataSet (CS) ein temporärer Datensatz vorhanden.

Du muss also schreiben:

CS.Fields['bla_Feld'].AsString:= 'bla'; oder
CS.FieldByName('bla_Feld').AsString:= 'bla';
Dann sollte das auch im DBEdit stehen.


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz