Seite 1 von 2

Datei nicht gefunden <Proplem immernoch nicht gelöst :( &

Verfasst: 03.12.2005 18:19
von Tsuki-Namida
wie gesagt wird eine datei nicht gefunden, ich frage mich nur warun...

Code: Alles auswählen

      a.s=GetGadgetItemText(#Listview_0,GetGadgetState(#Listview_0),0)
       If a.s<>""
      ;If ReadFile(0,"Dir+a") 
       temp$ = Dir
       temp$ + a
       Debug temp$
       If ReadFile(0,temp$) 
        url$ = ReadString()
        Debug ReadString()
        CloseFile(0)         
        hPlay=Winamp_Play(url$)
        Play.l=1
       Else
        Debug Dir+a
        MessageRequester("Fehler","Konnte die Datei nicht finden",0)                                                        ; wir schliessen den file was nicht unbedingt sein muss da es PB automat. schliesst   
       EndIf
      EndIf
      Debug url$

     EndIf
    EndIf
Im Debug wird der phat richtig angezeigt und vorhanden ist sie auch nr es will nicht wie ich möchte :( ist da ein fehler drinne? wenn ja welche?

der phat zu Dadei steht in temp$ und in url$ soll der inhalt der datei stehen aber soweit kommt es leider nicht.

wenn ich es so versuche:
ReadFile(0,temp$)
url$ = ReadString()
Debug ReadString()
Steht der phat der angegebenen Datei in url$ und nicht der ihnalt

Verfasst: 03.12.2005 18:23
von HeX0R
Was ist denn in Dir drinne ?

und was soll bitteschön ein Phat sein ?
Schreib entweder path, oder Pfad...

Verfasst: 03.12.2005 18:26
von Tsuki-Namida
in Dir steht der pfad zum verzeichnis und in a steht der dateiname

Verfasst: 03.12.2005 18:36
von HeX0R
/:->
Ginge es vielleicht auch etwas genauer ?
-Steht der Laufwerkbuchstabe mit im Dir ?
-Endet der Dir-String mit einem Backslash bzw. Slash ?

Verfasst: 03.12.2005 18:45
von Tsuki-Namida
naja das ist für mich eine selbstverständlichkeit....

darstellung nummer 1:

Code: Alles auswählen

Dir = C:\mein programm\
a = Datei.txt

temp$ = Dir
temp$ + a

Debug temp$ ;C:\mein programm\Datei.txt
ReadFile(0,temp$)
url$ = ReadString()
Debug ReadString() ;Hier ist die ausgabe "C:\mein programm\Datei.txt"
Debug url$ ;Hier ist die ausgabe "C:\mein programm\Datei.txt"
CloseFile(0)         
hPlay=Winamp_Play(url$)
Play.l=1
Darstellung nummer 2:

Code: Alles auswählen

Dir = C:\mein programm\
a = Datei.txt

temp$ = Dir
temp$ + a
If ReadFile(0,temp$) ;Wird nicht erfüllt
        url$ = ReadString()
        Debug ReadString()
        CloseFile(0)         
        hPlay=Winamp_Play(url$)
        Play.l=1
       Else
        Debug Dir+a ;Hier ist die ausgabe "C:\mein programm\Datei.txt"
        MessageRequester("Fehler","Konnte die Datei nicht finden",0)
EndIf
ich hoffe das ich es diesmal verständlicher dargestellt habe :roll:

Verfasst: 03.12.2005 18:48
von HeX0R
Du weisst was Gänsefüsschen sind ?

Code: Alles auswählen

Dir.s = "C:\mein programm\"
a.s = "Datei.txt"

Verfasst: 03.12.2005 19:00
von Tsuki-Namida
HeX0R hat geschrieben:Du weisst was Gänsefüsschen sind ?

Code: Alles auswählen

Dir.s = "C:\mein programm"
a.s = "Datei.txt"
ja sicher... das habe ich jetzt auf die schnelle geschrieben für die darstellung.... damit man weis was da gemeint ist.... so habe ich das im programm nicht... und auserdem würde es dann eine fehlermeldung geben.

ich lasse mit einer procedure das verzeichniss der exe ermitteln und und mache "Dir + "unterverzechnis" dazu lese alle daten aus diesem verzeichnis aus und trade sie in ein listview ein. per klickwird der datei name in "a" geschrieben. ich addire dann nur "Dir" mit "a" und den kompleten pfad zu bekommen und ich möchte dann die datei mit "ReadFile(#Datei,String$)" öffnen und anschliesend mit "File$ = ReadString()" auslesen also die erste zeile.

Verfasst: 03.12.2005 19:17
von Tsuki-Namida
okay hir noch mal der qoellen code vom laden der liste bis zum ausführungs versuch

Hier wird die liste geladen:

Code: Alles auswählen

Dir.s = GetExePath()
Dir + "Listen\"
Dir + "Privat\"
Debug Dir
If ExamineDirectory(50, Dir, "*.txt")
 While NextDirectoryEntry()=1
  AddGadgetItem(#Listview_0,-1,DirectoryEntryName())
  Wend
EndIf
Dir.s = GetExePath()
Dir + "Listen\"
Dir + "Rundfunk\"
Debug Dir
If ExamineDirectory(50, Dir, "*.txt")
 While NextDirectoryEntry()=1
  AddGadgetItem(#Listview_0,-1,DirectoryEntryName())
  Wend
EndIf
Hier wird die aktion abgefragt zecks doppelklick und einfach klick:

Code: Alles auswählen

If Event = #PB_EventGadget
 If GadgetID = #Listview_0
  If EventType() = #PB_EventType_LeftDoubleClick
   If Play.l = 1      
    Winamp_Stop()
   EndIf      
   a.s=GetGadgetItemText(#Listview_0,GetGadgetState(#Listview_0),0)
   If a.s<>""
    temp$ = Dir
    temp$ + a
    Debug temp$
    If ReadFile(0,temp$) 
     url$ = ReadString()
     Debug ReadString()
     CloseFile(0)         
     hPlay=Winamp_Play(url$)
     Play.l=1
    Else
     Debug Dir+a
     MessageRequester("Fehler","Konnte die Datei nicht finden",0)                                                        ; wir schliessen den file was nicht unbedingt sein muss da es PB automat. schliesst   
    EndIf
   EndIf
   Debug url$
  EndIf
 EndIf
 ElseIf EventType() = #PB_EventType_LeftClick
  a.s=GetGadgetItemText(#Listview_0,GetGadgetState(#Listview_0),0)
   If a.s<>""
    ReadFile(0,Dir + a) 
    url$ = ReadString()
    Debug ReadString()
    CloseFile(0)      
   EndIf
  EndIf
  Debug Play

Verfasst: 06.12.2005 21:50
von Tsuki-Namida
ich habe zwar noch umhergebastelt aber leider ohne erfolg... ist hier vieleicht noch jemandder mir helfen könnte??? Bitte!

Verfasst: 06.12.2005 23:06
von edel
Der Codeabschnitt fuer das oeffnen bzw lesen der Datei funktioniert.
Pruefe mal deine Pfad- und Dateiangaben.