AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateitree auslesen

Ein Thema von Indrizzi · begonnen am 6. Dez 2006 · letzter Beitrag vom 7. Dez 2006
Antwort Antwort
Indrizzi
(Gast)

n/a Beiträge
 
#1

Dateitree auslesen

  Alt 6. Dez 2006, 19:48
Hallo,
ich möchte mit der webbrowser - komponente einen html katalog öffnen. Das ist kein problem mit:

webbrowser1.navigate('C:\katalog06\index.htm');

Ich weiß allerdings nicht in welchem laufwerk sich der dateiordner 'katalog06' befindet, wenn mein kunde die cd in sein cd-laufwerk legt.

Gibt es eine einfache methode den verzeichnisbaum zu durchsuchen und automatisch den laufwerkbuchstaben zu navigate hinzu zu fügen? Oder alternativ eine relative pfadangabe dort einzubauen?

Schon mal vorab dank an alle helfer.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Dateitree auslesen

  Alt 6. Dez 2006, 19:52
ParamStr(0) liefert dir den Pfad und Namen deiner Exe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
6. Dez 2006, 21:19
Dieses Thema wurde von "Christian Seehase" von "Internet / LAN / ASP.NET" nach "Sonstige Fragen zu Delphi" verschoben.
Das eigentliche Problem hat nichts mit Internet/LAN zu tun.
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Dateitree auslesen

  Alt 7. Dez 2006, 07:07
Guten Morgen.

Irgendjemand muss doch den Ordner Katalog06 angelegt haben - und wenn das mit einem Setup-Programm gemacht wurde, dann sollte der Ort in der Registry vermerkt sein. Wenn es der Benutzer deines Programms selbst gemacht hat, dann sollte dein Programm ihn fragen und sich die Antwort merken. Die Aufhängung des Verzeichnisses direkt unter dem root folder dürfte wohl auch nur auf einem privaten PC funktionieren - bei vorgegebenem file system layout gibt es Probleme.

Wenn du aber partout nach dem Ordner suchen möchtest, dann wäre das hier ein möglicher Ansatz:

Delphi-Quellcode:
function LocateFolder(const path: TFileName): TFileName;
var
  bDrive: Byte;
begin
  for bDrive := 2 to 25 do
    if DriveExists(bDrive) then
    begin
      Result := Format('%s:%s', [Chr(Ord('A') + bDrive), path]));
      if DirExists(Result) then Exit;
    end;
  Result := '';
end;

begin
  ShowMessage(LocateFolder('\katalog06'));
end;
Getippt und nicht getestet. DriveExists()

Grüße vom marabu
  Mit Zitat antworten Zitat
Indrizzi
(Gast)

n/a Beiträge
 
#5

Re: Dateitree auslesen

  Alt 7. Dez 2006, 07:36
Zitat von marabu:
Wenn du aber partout nach dem Ordner suchen möchtest, dann wäre das hier ein möglicher Ansatz:
Danke, das könnte die lösung sein. Werde ich nachher mal probieren.Ich muss nach dem ordner suchen, weil:
unser kunde bekommt von uns eine cd, auf welcher sich der ordner katalog06 befindet und ein minimalistischer webbrowser zum betrachten der dateien. Es befindet sich auf der cd kein setup-programm, weil unsere kunden das nicht akzeptieren würden (sensibele bereiche in der anlagenprozesstechnik). Den sachbearbeitern ist es in der regel verboten programme zu installieren. Der katalog ist komplett im html -format. Die navigation im katalog wird mittel hoverschaltflächen erledigt. Deshalb der eigene webbrowser! IE hatte unseren katalog unbrauchbar gemacht
Wenn der kunde also die cd einlegt, weiß die komponente webbrowser ja nicht, in welchen laufwerk es den ordner katalog06 suchen soll. Gebe ich D: vor und das laufwerk des kunden hat den buchstaben E: bekommt der kunde eine fehlermeldung. Im günstigsten fall ruft der kunde an und wir können das telefonisch klären, im ungünstigsten fall fliegt die cd in den papierkorb. Dehalb ist das für mich so wichtig.

Danke für den lösungsansatz
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#6

Re: Dateitree auslesen

  Alt 7. Dez 2006, 08:41
Moin

Ich nehme an, dass neben dem Katalog auch Dein MiniProgramm zum Anschauen desselben auf der Kunden-CD vorhanden ist? Dann wird der Kunde doch dieses Programm sicherlich direkt von der CD starten...
Also baust du im OnCreate des Programmes folgendes ein:
Delphi-Quellcode:
procedure Form1.Create(Sender: TObject);
begin
  ...
  //--Katalog öffnen
  Webbrowser1.Navigate(ExtractFileDrive(ParamStr(0)) + '\katalog06\index.htm');
  ...
end;
  Mit Zitat antworten Zitat
Indrizzi
(Gast)

n/a Beiträge
 
#7

Re: Dateitree auslesen

  Alt 7. Dez 2006, 11:01
Zitat von raiguen:
Moin

Ich nehme an, dass neben dem Katalog auch Dein MiniProgramm zum Anschauen desselben auf der Kunden-CD vorhanden ist? Dann wird der Kunde doch dieses Programm sicherlich direkt von der CD starten...
Also baust du im OnCreate des Programmes folgendes ein:
Delphi-Quellcode:
procedure Form1.Create(Sender: TObject);
begin
  ...
  //--Katalog öffnen
  Webbrowser1.Navigate(ExtractFileDrive(ParamStr(0)) + '\katalog06\index.htm');
  ...
end;
Vielen Dank, das funzt
  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 03:48 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