Wie #NULL & NicTheQuick schon schrieben, safoall.ttf existiert nicht. Safoall.ttf mit großem S jedoch schon. Das hat nichts mit PureBasic zu tun, eher mit dem Dateisystem deiner Partition und Linux. Wenn du Groß-/Kleinschreibung ignorieren willst formatiere die Partition in NTFS oder FAT.
2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Path.s = "/home/peter/Safoall.ttf"
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Bloss nicht auf NTFS oder FAT formatieren. Sonst funktioniert nicht mehr alles korrekt (Berechtigungen, etc)
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
-
- Beiträge: 50
- Registriert: 29.03.2013 12:25
- Wohnort: Eisenach
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Hallo !
Ich muß mich schämen,daß trotz Hinweis zum Gross-Kleinschreiben ich irgendwie diesen Fehler nicht gesehen habe. Nachdem
ich die Schriftdatei einheitlich kleingeschrieben überall eingesetzt hatte, lief auch der Includebinary- Aufruf. Allerdings wurde die
richtige Schrift im Programm auf den Buttons nicht angezeigt, sondern eine Ersatzschriftart. Das Ganze funktioniert jetzt, nachdem
die Procedur Rebuilt_FontFile_From_DataSection() eingesetzt worden ist. Vielen Dank allen, die sich hier Gedanken gemacht haben.
Das andere Problem habe ich bis jetzt nicht lösen können (Dateilesen zeilenweise ohne korrekte EOF-Feststellung). Ich mache es jetzt
ohne EOF-Abfrage, indem ich beim Schreiben die Zeilen zähle und beim Lesen nur diese Zahl einhalte.
Heinz
Ich muß mich schämen,daß trotz Hinweis zum Gross-Kleinschreiben ich irgendwie diesen Fehler nicht gesehen habe. Nachdem
ich die Schriftdatei einheitlich kleingeschrieben überall eingesetzt hatte, lief auch der Includebinary- Aufruf. Allerdings wurde die
richtige Schrift im Programm auf den Buttons nicht angezeigt, sondern eine Ersatzschriftart. Das Ganze funktioniert jetzt, nachdem
die Procedur Rebuilt_FontFile_From_DataSection() eingesetzt worden ist. Vielen Dank allen, die sich hier Gedanken gemacht haben.
Das andere Problem habe ich bis jetzt nicht lösen können (Dateilesen zeilenweise ohne korrekte EOF-Feststellung). Ich mache es jetzt
ohne EOF-Abfrage, indem ich beim Schreiben die Zeilen zähle und beim Lesen nur diese Zahl einhalte.
Heinz
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
Mal eine Hilfsfunktion wie man so was lösen kann.
Code: Alles auswählen
;-TOP
; Read And Write TextFile by mk-soft, v1.02, 28.03.2020
EnableExplicit
Procedure ReadFileToList(FileName.s, List TextList.s()) ; Result Format (BOM)
Protected file, format
ClearList(TextList())
file = ReadFile(#PB_Any, FileName)
If file = 0
Debug "Error Open File: " + FileName
ProcedureReturn 0
EndIf
format = ReadStringFormat(file)
If format = 0
Debug "Error Read BOM: " + FileName
CloseFile(file)
ProcedureReturn 0
EndIf
While Not Eof(file)
AddElement(TextList())
TextList() = ReadString(file, format)
Wend
CloseFile(file)
ProcedureReturn format
EndProcedure
; ----
Procedure WriteFileFromList(FileName.s, List TextList.s(), Format = #PB_UTF8) ; Result wrote lines
Protected file, cnt
If Format <> #PB_Ascii And Format <> #PB_UTF8 And Format <> #PB_Unicode
Debug "Error BOM not supported: " + FileName
ProcedureReturn 0
EndIf
file = CreateFile(#PB_Any, FileName, Format)
If file = 0
Debug "Error Create File: " + FileName
ProcedureReturn 0
EndIf
If WriteStringFormat(file, Format) = 0
Debug "Error Write BOM: " + FileName
CloseFile(file)
ProcedureReturn 0
EndIf
ForEach TextList()
If WriteStringN(file, TextList()) = 0
Debug "Error Write Line: " + FileName
CloseFile(file)
ProcedureReturn 0
Else
cnt + 1
EndIf
Next
CloseFile(file)
ProcedureReturn cnt
EndProcedure
; ****
Global NewList Text.s()
Define filename.s, bom
; Read CSV to text list
filename.s = OpenFileRequester("Open", "", "", 0)
If filename
bom = ReadFileToList(filename, Text())
Debug "BOM = " + bom
EndIf
ForEach Text()
Debug Text()
Next
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: 2 ärgerliche Fälle kein Linuxprogramm fertigzukriegen
@mk-soft:
Kurzer Hinweis dazu:
Eigentlich kann ReadStringFormat() keine 0 zurückgeben. Der Default wird immer #PB_Ascii sein, zumindest laut Hilfe. Man könnte an der Stelle allerdings überprüfen, ob das Format eins von #PB_Ascii, #PB_UTF8 oder #PB_Unicode ist. In allen anderen Fällen kannst du das Format nicht an ReadString() weitergeben.
Kurzer Hinweis dazu:
Code: Alles auswählen
format = ReadStringFormat(file)
If format = 0
Debug "Error Read BOM: " + FileName
CloseFile(file)
ProcedureReturn 0
EndIf