Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 241862 (3298)

| Suchen
| Zurück zur Übersicht

Autor | Thema: lb_dir und lange Dateinamen
David
| Datum:30.07.02 11:23 (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 (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 (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 (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 (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 (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 (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 (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 (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 |
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 (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 |
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 (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 (David@Brennan.de) |
Alles klar, Fehler lag bei mir, funktioniert prächtig... Gruss David...

| Zurück zur Übersicht