Hallo,
heute habe ich festgestellt, das unter Windows einige Dateien bei mienem Editor nicht geöffnet werden (im Sinne von: Inhalt wird nicht angezeigt), mein Vater vermutet, es hängt mit irgendwelchen Zeichen zusammen, die veranlassen, dass so ein Befehl wie ClearScreen ausgeführt wird, also nichts mehr im ScintillaGadget steht. Gut, Dateien überprüft, allerdings habe ich die ja selbst mit meinem Editor erstellt, also kann es eigentlich wohl kaum sein, dass die nicht geöffnet werden. Das passiert mir jedoch nur unter Windows, und auch nur bei einzelnen Dateien. Das einzige, was die gemeinsam haben ist:
- Sie liegen auf dem gleichen Laufwerk (USB-Stick)
- Es sind Konfigurationsdateien.
Woran könnte das liegen?
Ich benutze Scintillahelper (SCI_LoadFile)
MfG
Markus
P.S: ts-soft, bitte auf die Signatur schauen!
Scintilla SETTEXT
-
- Beiträge: 88
- Registriert: 14.05.2010 15:53
- Computerausstattung: 3 GB RAM, Windows 7 32-Bit Home Premium
- Wohnort: daheim
- Kontaktdaten:
Scintilla SETTEXT

Die täglich beförderte Datenmenge des Internets beträgt 415 Petabyte oder 445.602.856.960 Megabyte!
- 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
Re: Scintilla SETTEXT
Was nützt das, wenn trotzdem alle erforderlichen Infos fehlenmbuettner hat geschrieben:P.S: ts-soft, bitte auf die Signatur schauen!

Wo sind die Dateien, wo der Source? Es sind überhaupt keine Infos vorhanden

Du suchst wohl schon wieder:

Ich finde es zwar nett, das Du uns das Hellsehen zutraust, aber bei den meisten ist dies nicht der Fall.
Gruß
Thomas
PS: Ich vermute mal, in dem nicht vorhandenem Source fehlt ein CloseFile()
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Scintilla SETTEXT
Da fehlt in der Tat einiges an Informationen. Ich werfe deswegen einfach mal mit ein paar Stichworten um mich:
Unicode, Ascii, BOM, CloseFile(), ReadFile()=0, ABCDEF ...
Unicode, Ascii, BOM, CloseFile(), ReadFile()=0, ABCDEF ...
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
- 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
Re: Scintilla SETTEXT
Ich hab in ähnlich s Probl m. Hab in Dat i g öffn t, in hin ingpackt und wi d r g schloss n. J tzt v rmiss ich m in
// edit
hat sich erledigt, hab mein e wiedergefunden.
// edit
hat sich erledigt, hab mein e wiedergefunden.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 88
- Registriert: 14.05.2010 15:53
- Computerausstattung: 3 GB RAM, Windows 7 32-Bit Home Premium
- Wohnort: daheim
- Kontaktdaten:
Re: Scintilla SETTEXT
@ts-soft:
Und für alle, die Scintillahelper nicht benutzen:
MfG
Markus
Sagt das nicht schon fast alles aus? Nachdem das ganze Lesen von Scintillahelper übernommen wird, habe ich damit nichts am Hut. Hier vielleicht noch die Prozedur, wo SCI_LoadFile aufgerufen wird:mbuettner hat geschrieben:Ich benutze Scintillahelper (SCI_LoadFile)
Code: Alles auswählen
Procedure OFile(file.s, fileid.l)
ReDim paths(fileid)
paths(fileid) = GetPathPart(file)
ReDim files(fileid)
files(fileid) = GetFilePart(file)
AddGadgetItem(0,CountGadgetItems(0),GetFilePart(file),ImageID(100))
ScintillaGadget(100 + fileid,0,0,WindowWidth(0)-5,WindowHeight(0)-95,#Null)
If SCI_LoadFile(100 + fileid,file) = #True
ScintillaSendMessage(100+fileid,#SCI_SETSAVEPOINT)
ScintillaSendMessages(100+fileid,LineWrapping)
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndProcedure
Code: Alles auswählen
Procedure SCI_LoadFile(ID, FileName.s)
Protected FF, Format, length, *mem, Text.s
FF = ReadFile(#PB_Any, FileName)
If FF
Select ReadStringFormat(FF)
; hier wird das StringFormat ermittelt und entsprechend gleich die Codepage eingestellt
Case #PB_Unicode
Format = #PB_Unicode
ScintillaSendMessage(ID, #SCI_SETCODEPAGE, 65001)
Case #PB_UTF8
Format = #PB_UTF8
ScintillaSendMessage(ID, #SCI_SETCODEPAGE, #SC_CP_UTF8)
Default
Format = #PB_Ascii
ScintillaSendMessage(ID, #SCI_SETCODEPAGE, 0)
EndSelect
length = Lof(FF)
If length
*mem = AllocateMemory(length)
If *mem
If ReadData(FF, *mem, length)
Text = PeekS(*mem, length, Format)
If SCI_SetGadgetText(ID, Text.s)
FreeMemory(*mem)
CloseFile(FF)
ProcedureReturn #True
EndIf
Else
MessageRequester(#Name,"Can't read data!")
EndIf
EndIf
EndIf
CloseFile(FF)
EndIf
EndProcedure
Markus

Die täglich beförderte Datenmenge des Internets beträgt 415 Petabyte oder 445.602.856.960 Megabyte!
- 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
Re: Scintilla SETTEXT
Eigentlich habe ich die Lösung schon angedeutet, trotz mangelnder Infos, aber hier nochmal:
Kann natürlich auch ein fremdes Programm sein, das die Dateien geöffnet hat. Manche
Programme haben ihre Konfigurations-Dateien auch solange offen, bis sie beendet werden.
Nächstes mal bitte einen ausführbaren Code und keine einzelnen Proceduren oder Schnippsel,
die sind meist unnütz. Die Dateien, welche nicht geladen werden als Download wäre auch
sinnvoll.
Erst nachdenken, welche Infos bräucht jemand anders um das Problem nachzuvollziehen und
wie stelle ich Ihm diese so zur Verfügung, das er möglichst keine Arbeit damit hat.
Gruß
Thomas
Code: Alles auswählen
Define.s File = GetTemporaryDirectory() + "test.txt"
If CreateFile(0, File)
WriteStringN(0, "hallo test")
CloseFile(0)
If OpenFile(1, File)
Debug ReadString(1)
If Not ReadFile(2, File)
Debug File + " konnte nicht geöffnet werden, da in Benutzung"
EndIf
EndIf
EndIf
Programme haben ihre Konfigurations-Dateien auch solange offen, bis sie beendet werden.
Nächstes mal bitte einen ausführbaren Code und keine einzelnen Proceduren oder Schnippsel,
die sind meist unnütz. Die Dateien, welche nicht geladen werden als Download wäre auch
sinnvoll.
Erst nachdenken, welche Infos bräucht jemand anders um das Problem nachzuvollziehen und
wie stelle ich Ihm diese so zur Verfügung, das er möglichst keine Arbeit damit hat.
Gruß
Thomas
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
