Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 240974 (2410)
  Suchen
 Zurück zur Übersicht
 AutorThema: lb_dir und lange Dateinamen
David
Datum:30.07.02 11:23 Antwortenals Email verschicken (David@Brennan.de) 


Hallo Profaner,

habe wieder ein Problem :(
wenn ich eine Listbox mit lb_dir fülle, dann werden nur 8.3 Dateinamen angezeigt, gibt es eine Möglichkeit das mir auch lange Dateinamen angezeigt werden ?
(SetLFN funktioniert nicht, da ich unter Win32 das Programm erstelle. - Ich benutze Profan 7.5)

Schon einmal vielen Dank an alle Profaner, welche sich Super an diesem Forum beteiligen.

David...


David
Datum:30.07.02 11:48 Antwortenals Email verschicken (David@Brennan.de) 


Habe auch das Beispiel vom 11.09.2001 von Frank Abbing ausprobiert, welches auch bei mir nicht Funktioniert, desweiteren möchte ich noch Anmerken:

Die ListBox wurde mit @Create("Listbox...) erstellt.

Gruß David...


Gerhard Putschalka
Datum:30.07.02 17:48 Antwortenals Email verschicken (g.putschalka@utanet.at) 


Hallo David,
vielleicht habe ich das falsch verstanden, aber kannst Du nicht den Profanbefehl "AddFiles" verwenden?
Mfg
Gerhard.


Jörg Sellmeyer
Datum:30.07.02 22:40 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo,
Wie ich das verstehe will David eine Verzeichnisliste erstellen.
Ich finde das ist ein echtes Manko von Profan, dass das so kompliziert ist.
Addfiles listet nähmlich alles auf - egal welches Attribut.
Wenn man hier noch nach Dateien oder Ordnern unterscheiden könnte, wäre das super.
Tatsächlich gibt Lb_Dir nur 8.3 Namen raus und das auch noch in eckigen Klammern.
Um das in eine zeitgemäße Form zu kriegen muß man wieder stundenlang Strings umwandeln.
Eine große Festplatte mit mehreren Hundert oder gar Tausend Vereichnissen kann da schon mal dauern.
Vielleicht wäre es einmal eine Aufgabe für die Dll-Spezialisten so etwas zu schreiben:
eine Listbxfunktion wir das gute alte Dos-Dir.
Verschiedene Parameter, auf Wunsch rekursiv und rasend schnell.
Am Besten dann noch als Maschinencode aus 'ner Bereichsvariablen auszuführen. Sebastian König hat mal MDI-Fenster auf diese Weise ermöglicht.
Wenn ich selber durch Assembler durchsteigen könnte, würde ich es ja probieren.
Aber ich krieg da leider überhaupt keinen Zugang :-(
Gruß
Jörg



Thorsten
Datum:31.07.02 18:32 Antwortenals Email verschicken (mrk@mrk-soft.de) 


Hi,

Assembler Ja, als Bereichsvariiable .... Ist einfach zu
Aufwendig. Hab da mal selber ein paar versuche in dieser
Richtung gestartet, der Aufwand dafür ist doch Enorm.
Einfacher gets als Externe DLL, MASM übersetzt das dann
schon in die richtige Reihenvolge.



Uwe ''Pascal'' Niemeier
Datum:01.08.02 17:30 Antwortenals Email verschicken (Pascalxd@owl-online.de) 


Hallo Thorsten!

> Assembler Ja, als Bereichsvariiable .... Ist einfach zu
> Aufwendig. Hab da mal selber ein paar versuche in dieser
> Richtung gestartet, der Aufwand dafür ist doch Enorm.

Vielleicht feht nur ein passendes Tool?? ;-)

http://www.tomcatsoft.de/ProfASM10b.zip

SCNR
Pascal


Jörg Sellmeyer
Datum:02.08.02 00:26 Antwortenals Email verschicken (joerse@gmx.de) 


Super !!
Genau sowas. Jetzt werd' ich mich wohl doch mal in Asm reinfummeln. Wer hat gute Literaturtips.
Gruß
Jörg


David
Datum:31.07.02 11:41 Antwortenals Email verschicken (David@Brennan.de) 


Hallo Gerhard,

ich habe den Befehl mit "Addfiles" auch schon probiert, leider funktioniert dieser Befehl bei meiner Version, 7.5+Sicherheitspatch, auch nicht richtig... Ich bekomme leider nur DOS 8.3 Dateinamen in der LISTBOX angezeigt.

Gruss David...




Jörg Sellmeyer
Datum:31.07.02 14:46 Antwortenals Email verschicken (joerse@gmx.de) 


Das kann eigentlich nicht sein. Zum Sicherheitspatch kann ich nichts sagen,
aber mit der normalen 7.5-Version funktioniert dies einwandfrei:
Cls
chdir "C:\\"
Addfiles "*.*"
ListBox$("",4)
Mit allen genannten Nachteilen.
Wie ist das Interesse ? An einer Assemblerroutine ??Frank ??? Hallo ???? Hört mich hier jemand ?????
;-)
Jörg


Frank Abbing
Datum:02.08.02 22:06 Antwortenals Email verschicken  


Hallo,

na zumindest die Daten aus Unterverzeichnissen können ja doch ausgelesen werden

Auszug aus Profan's Hilfe:

NUR IN DER 32-BIT-VERSION: Wird vor dem String ein Stern angegeben, werden auch alle Dateien in den Unterverzeichnissen hinzugefügt die der Dateimaske entsprechen. Beispiele:

ClearList
ChDir "C:"
AddFiles *"*.WAV"
@ListBox$("Ergebnis",1)

Ich kenne keine Methode, um die Addfiles-Message (nichts anderes ist der Befehl ja) etwas moderner zu gestalten.
Da muß schon was anderes via FindFirstFile usw. her, das kann man dann flexibler gestalten, ist aber sehr kompliziert.
Oder man muß wirklich "stundenlang Strings umwandeln", direkt in Assembler sollte das ziemlich zügig gehen.

Controls & Assembler, das wäre eigentlich eine Sache für Gerhard Putschalka...

Gruß, Frank


Gerhard Putschalka
Datum:04.08.02 10:21 Antwortenals Email verschicken (g.putschalka@utanet.at) 


Hallo Frank,
ich bin nicht abgeneigt über dieses Problem nachzudenken. Was aber genau soll erreicht werden?
Mit lb_dir und ähnlichen Messages bw. Funktionen werden anscheinend wirklich nur die 8.3-Dateinamen übermittelt. Dabei erfolgt auch keine Auflösung von Unterverzeichnissen.

Mit FindFirst/FindNext (auch im Assembler) wäre das prinzipiell auch lösbar, doch müßte ebenfalls jedes Vereichnis inkl. aller Unterverzeichnisse analysiert werden. Dabei würde der lange Dateiname übergeben. Die Verschachtelung aufzulösen ist aber sehr aufwendig.

Abgesehen vom Problem des Absturzes bei "AddFiles", wenn zuviele Verzeichnisverschachtelungen gegeben sind, erscheint mir der AddFiles Befehl noch am sinnvollsten.
Hier bekomme ich den Dateinamen inkl. Verzeichnis direkt angezeigt und mit den langen Namen.

Worum geht es eigentlich?

Mfg.
Gerhard.


Frank Abbing
Datum:04.08.02 11:12 Antwortenals Email verschicken  


Hallo Gerhard,

scheint sich ja schon erledigt zu haben...

Na ja, sowas sieht heute ja wirklich nicht mehr zeitgemäß zu sein:

[..]
[dir]
[-a-]
[-c-]
[-d-]

Vielleicht hast du ja Lust, ein etwas moderneres Addfiles zu erstellen, mit Messages und Controls kennst du dich ja bestens aus, und mit Assembler ebenfalls ;-))

Gruß, Frank



Jörg Sellmeyer
Datum: 04.08.02 15:07 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo,
Das Addfiles an sich ist schon o.k. Aber eine Reine Verzeichnisliste
inclusive aller Unterverzeichnisse ist in Profan umständlich -wahrscheinlich in
anderen Sprachen auch - und mit hohem Zeitaufwand verbunden.
Vielleicht könnte dafür eine Assemblerroutine das ganze beschleunigen.
Gruß
Jörg


David
Datum:31.07.02 18:05 Antwortenals Email verschicken (David@Brennan.de) 


Alles klar,

Fehler lag bei mir, funktioniert prächtig...

Gruss David...


 Zurück zur Übersicht