Das ist die Grundvoraussetzung, ohne die überhaupt nichts läuft. Es gibt allerdings mehrere Möglichkeiten, auf so eine Frage auch eine Antwort zu erhalten. Von den vielen Wegen habe ich für den Anfang einmal 3 Methoden herausgegriffen(Diese Methoden sind weitgehend unabhängig von Hardware und Betriebssystem).
1. Der langsame Weg:z.B.:Wie teile ich einen beliebigen Dateinamen mit FreeBASIC in seine Bestandteile Laufwerk/Pfad/Dateiname und Erweiterung auf?
(Möglicherweise hagelt es dazu Links auf vorhandene Forenseiten oder aber auch nur ein Verweis auf diese Seite..)2. Der etwas schnellere Weg:
Ich poste im Forum an geeigneter Stelle meine Frage in der Form:
Ich möchte einen beliebigen Dateinamen mit FreeBASIC in seine Bestandteile Laufwerk/Pfad/Dateiname und Erweiterung aufteilen, dabei liefert folgender Code keine brauchbaren Ergebnisse:
For i=pt To dp Step -1 'Now search for filename If Mid(s, i, 1)=Chr(92) Or i=1 Then 'separator found or stringstart.. FRec.FName=Mid(s, i+1) s=Mid(s, 1, i) Exit For End If Next FRec.FPath=s
Dieser Code läßt sich schon mal auf Fehler untersuchen, wenn aber offensichtliche Fehler ausgeschlossen werden können, gibt es mit Sicherheit eine Menge
Antworten, mit einem Inhalt wie:Poste doch mal den kompletten Code
Oder schlimmer noch:Ich weiß nicht, was du willst, bei mir läuft der Code einwandfrei..
3. Der sichere Weg:
Ich poste(zumindest beim ersten Mal oder bei Änderungen) Angaben zu:
'Ä=Ž , Ö=™ , Ü=š ; ä=„ , ö=”, ü= , ß=á ,§=õ , ©=¸ 'Kann erstmal nur Windowsnamen auflösen #include "crt.bi" #include "vbcompat.bi" #define ArgC ((*__p___argc())-1) Option Escape Option Explicit Type FSplitRec FDrive As String FPath As String FName As String FExt As String End Type Declare Sub FSplit(byVal FSpec As String, byRef FRec As FSplitRec) Declare Sub FSplitIt(byVal FSpec As String, byVal FRec As FSplitRec) Sub FSplitIt(byVal FSpec As String, byVal FRec As FSplitRec) ?FSpec FSplit FSpec, FRec ?"Laufwerk=";FRec.FDrive ?"Pfad=";FRec.FPath ?"Name=";FRec.FName ?"Ext=";FRec.FExt End Sub Sub FSplit(byVal FSpec As String, byRef FRec As FSplitRec) Dim s As String=FSpec Dim As Long dp=Instr(s, ":"), pt=0, i FRec.FDrive="" FRec.FPath="" FRec.FName="" FRec.FExt="" If FSpec="" Then Exit Sub 'nothing to do, all done ;) If dp Then 'DriveLetter Okay FRec.FDrive=Left(s, dp) s=Mid(s, dp+1) End If For i=Len(s) To 1 Step-1 Select Case Mid(s, i, 1) Case Chr(92): Exit For Case ".": pt=i Exit For End Select Next If pt Then FRec.FExt=Mid(s, pt) s=Mid(s, 1, pt-1) Else pt=Len(s) End If 'FileExtension Okay For i=pt To dp Step -1 'Now search for filename If Mid(s, i, 1)=Chr(92) Or i=1 Then 'separator found or stringstart.. FRec.FName=Mid(s, i+1) s=Mid(s, 1, i) Exit For End If Next FRec.FPath=s End Sub Dim FRec As FSplitRec, DateiName As String Screen 0:Width 80, 25 ?"FSplit.Bas ¸2006 by ytwinky, MD" DateiName="C:\\Dokumente und Einstellungen\\NetworkService\\Lokale Einstellungen\\Temporary Internet Files\\Content.IE5\\RTJCN2OL\\DeskTop.Ini" SleepAllerdings arbeitet das Programm nicht wie gewünscht oder ich habe einen Denkfehler, den ich nicht finde.
(Wohlgemerkt: 'Voraus' mit einem 'r', ist ja schließlich ein Torturial :D)
Wobei ich natürlich nicht vergessen darf, ggfs. externe Datenquellen zu beschreiben oder gleich mitzuposten.Viel Spaß im Forum
Gruß
ytwinky