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

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

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

Beitrag 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
Zuletzt geändert von Tsuki-Namida am 06.12.2005 21:50, insgesamt 2-mal geändert.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Was ist denn in Dir drinne ?

und was soll bitteschön ein Phat sein ?
Schreib entweder path, oder Pfad...
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

in Dir steht der pfad zum verzeichnis und in a steht der dateiname
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

/:->
Ginge es vielleicht auch etwas genauer ?
-Steht der Laufwerkbuchstabe mit im Dir ?
-Endet der Dir-String mit einem Backslash bzw. Slash ?
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag 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:
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Du weisst was Gänsefüsschen sind ?

Code: Alles auswählen

Dir.s = "C:\mein programm\"
a.s = "Datei.txt"
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag 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.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag 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
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

ich habe zwar noch umhergebastelt aber leider ohne erfolg... ist hier vieleicht noch jemandder mir helfen könnte??? Bitte!
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Der Codeabschnitt fuer das oeffnen bzw lesen der Datei funktioniert.
Pruefe mal deine Pfad- und Dateiangaben.
Antworten