![]() |
Programmverzeichnis aus tabelle auslesen und bekannt machen
Hi, bin neu hier und hab gleich mal 'ne Frage:
Also, ich habe mehrere Tabellen (Paradox), in einer davon ist u.a. der Pfad, wo sich die Programmdateien befinden, hinterlegt (C:\...). Nun soll dieser Pfad variabel sein, d.h. in einem Unterformular kann man den Pfad ändern (Änderung in Tabelle). Mein Problem: Wie kann ich den Pfad auslesen und den anderen Programmen bekannt machen, so dass sich der Pfad in den bei TableName usw. einträgt? |
Re: Programmverzeichnis aus tabelle auslesen und bekannt mac
Zitat:
Zitat:
|
Re: Programmverzeichnis aus tabelle auslesen und bekannt mac
Hallo Praktikant,
zunächst einmal herzlich willkommen im Delphi-Praxis Forum. Memo hat Recht, dass du für den von dir beschriebenen Zweck besser einen ALIAS einrichtest. Sollte das aber nicht gehen, musst du zumindest den Pfad für die eine Tabelle, in der der zu benutzende Pfad steht als ALIAS einrichten oder in einer INI-Datei ablegen. Alle Programme können dann bei Create die INI-Datei lesen, aus der Tabelle den Pfad lesen und diesen dann benutzen. |
Re: Programmverzeichnis aus tabelle auslesen und bekannt mac
Hi,
also mit anderen Programmen meinte ich eigentlich andere Formulare. Habe jetzt mal einen Alias eingerichtet, funktioniert oweit auch. Aber wie kann ich nun den Path welchen ich ja im SQL Explorer eintrage aus meinem Unterformular ändern? Wenn möglich würde ich da ohne eine ini Datei auskommen wollen. Bin gerade im Praxissemester und hab zuvor noch nie was mit delphi gemacht... von daher bin ich auf Hilfe angewiesen, da inzwischen Programm langsam so komplex ist und nun immer schwierigere Dinge implementiert werden müssen :? |
Re: Programmverzeichnis aus tabelle auslesen und bekannt mac
Also, wenn du schon soweit bist und einen Alias fertig eingerichtet hast, machen wir doch gleich mal da weiter.
Tipp mal im Editor ModifyAlias ein setz den Courser drauf und drück F1. Da steht ein Beispiel, in dem du nur noch deinen Alias einsetzen musst. Der neue Pfad wird in dem Bsp. in eine InputQuery getippt. Willst du den Pfad aus einer Table holen , die noch dazu unter dem selben Alias läuft, musst du ihn zu Beginn der Prozedur aus der Table abfragen, weil die Table zum ändern des Alias Activ:= False gesetzt wird. Vergiss nicht die Table hinterher auf Activ zu setzen. |
Re: Programmverzeichnis aus tabelle auslesen und bekannt mac
Tja, ich bin mir da nicht so ganz sicher ob ich den alias (korrekt) eingerichtet habe.
Zumindest funktioniert das ganze nicht. Wo soll ichdie procedure denn eintragen? Und wie implementiere ich meine Tabelle, weiß nicht so recht was das Bsp. Programm zu welchem Zeitpunkt macht. |
Re: Programmverzeichnis aus tabelle auslesen und bekannt mac
Zitat:
-BDE an -Objekt->neu->bestätigen -Namen eintragen(zB. Test) -rechts steht PATH, auf den kleinen Buttom klicken -Verzeichnis auswählen und BDE beenden -Delphi an, Table anklicken -im OI unter DatabaseName List aufklappen, Test wählen Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin ChangeAlias end; Zitat:
Wenn alle deinen Tabellen an diesem Alias hängen, brauchst du dich um den Code nicht weiter kümmern. |
Re: Programmverzeichnis aus tabelle auslesen und bekannt mac
ok, funktioniert. hatte schon korrekt den alias angelegt - kann man auch wirklich nicht falsch machen :)
Kann jetzt schön im Programm meinen Verzeichnispfad ändern. :arrow: Aber wenn ich nun wie auch immer den falschen Pfad eingebe habe ich ein Problem, kann dann nämlich nicht mehr den Pfad ändern, da dieser ja aus Tabelle geändert wird. Meine Idee: Es kommt ja eine schöne Fehlermeldung, dass Pfad nicht gefunden wurde. Kann man diesen Fehler nicht abfangen und dann automaisch den changealias ausführen? |
Re: Programmverzeichnis aus tabelle auslesen und bekannt mac
Zitat:
|
Re: Programmverzeichnis aus tabelle auslesen und bekannt mac
hab ich schon befürchtet.
Hab mich gerade mal ein wenig in die INI Geschichte eingelesen. Versuche mal noch was zusammen zu bekommen, wird aber vor Montag wohl nix mehr werden, erst mal ab ins Wochenende :-D Ein Frage noch: Warum funktioniert das so nicht(undefinierter Bezeichner): [...] procedure TForm_INI.FormCreate(Sender: TObject); var ini: TIniFile; begin ini:=TIniFile('C:\Visualisierung.ini'); try [...] wo muss ich das teil noch bekannt machen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 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