Runprogramm macht Schwierigkeiten *gelöst*

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Runprogramm macht Schwierigkeiten *gelöst*

Beitrag von dysti »

Hallo,
ich habe folgenden Code schnell erstellt:

Code: Alles auswählen

StandardFile$ = "c:\"   ; anfänglichen Pfad + Dateiname festlegen
  ; Mit dem nächsten String werden die Pattern (mit "|" als Trennzeichen) für anzuzeigende
  ; Dateitypen festgelegt:
  ;  Erster:  "Text (*.txt)" als Name, ".txt" und ".bat" als erlaubte Dateiendungen
  ;  Zweiter: "PureBasic (*.pb)" als Name, ".pb" al erlaubte Dateiendung
  ;  Dritter: "Alle Dateien (*.*) als Name, "*.*" als erlaubte Dateiendung, gültig für alle Dateien
  Pattern$ = "PDF (*.pdf)|*.pdf|Alle Dateien (*.*)|*.*"
  Pattern = 0    ; wir verwenden den ersten von drei möglichen Pattern als Standard
  File$ = OpenFileRequester("Bitte Datei zum Laden auswählen", StandardFile$, Pattern$, Pattern)
  If File$
    RunProgram("F:\test\Foxit Reader.exe", "-noregister "+ File$, "", #PB_Program_Wait);|#PB_Program_Connect)
  Else
    MessageRequester("Information", "Der Requester wurde abgebrochen.", 0) 
  EndIf
und diese Zeile macht Probleme:

Code: Alles auswählen

RunProgram("F:\test\Foxit Reader.exe", "-noregister "+ File$, "", #PB_Program_Wait)
Der Pdfreader öffnet und liest auch kleine PDF´s ein (ca. 300KB) aber bei einer größeren PDF (ca. 2MB) startet der Reader nur und zeigt die PDF nicht an.
Wenn ich dann auf die Datei im gestarteten Reader auswähle, lädt er anstandslos die Datei.
Damit scheidet ein Speicherproblem aus.

Was läuft hier verkehrt.

......oder kennt jemand eine andere Möglichkeit, PDF´s anzuzeigen?

MfG

Dysti
Zuletzt geändert von dysti am 28.02.2009 15:23, insgesamt 2-mal geändert.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Runprogramm macht Schwierigkeiten

Beitrag von Kiffi »

<AusDerHüfteGeschossen>
kann es sein, dass im Pfad + Dateinamen der grösseren PDFs ein
Leerzeichen vorkommt?
</AusDerHüfteGeschossen>

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

@Kiffi,
Volltreffer und versenkt. Das war´s.
Danke
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Beitrag von Mok »

Was ist denn eigentlich so schlimm daran, dass in einer Datei ein Leerzeichen vorkommt?
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Mok hat geschrieben:Was ist denn eigentlich so schlimm daran, dass in einer Datei ein Leerzeichen vorkommt?
Dann muß der Dateiname von tüddelchen (") umgeben werden, seid Win95
ist das so, aber manche habens bis heute nicht gescheckt :mrgreen:
Um einen String in PB mit tüddelchen zu umgeben kannste es wie folgt machen:

Code: Alles auswählen

file.s = "Mein File mit Leerzeichen.txt"
file = #DQUOTE$ + file + #DQUOTE$; #DQUOTE$ steht für "
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

@mok,
ich hoffe ich habe dich nicht mißverstanden, aber es geht hier nicht um ein Leerzeichen innerhalb einer Datei sondern um den Dateinamen.
Er war zum Beispiel "rufe datei.exe". Das darf nicht sein, sondern so: "rufe_datei.exe".
Jetzt kann man nur die Vermutung anstellen, das der Dateiname innerhalb des Pdfreader`s mit einer Funktion wie "Alltrim()" gefiltert wird,
so findet er dann natürlich keine Datei auf der Platte, weil ja der Dateiname verfälscht worden ist.

Edit:
Habe Blödsinn geschrieben!!!!!

@TS-Soft super. das "#DQUOTE$" war es. Nun können auch die Dateinamen Leerschritte beinhalten.

@Little John, nun ja, typischer Anfängerfehler
Zuletzt geändert von dysti am 28.02.2009 15:11, insgesamt 3-mal geändert.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Little John

Beitrag von Little John »

Mok hat geschrieben:Was ist denn eigentlich so schlimm daran, dass in einer Datei ein Leerzeichen vorkommt?
Gar nichts.
Es ging hier allerdings um
Pfad + Dateinamen
Daran ist jedoch auch nichts Schlimmes, wenn man richtig damit umgeht. D.h. Pfad- und Dateinamen mit Leerzeichen werden meist nur wie erwartet verarbeitet, wenn sie in " eingeschlossen werden.

Gruß, Little John
Antworten