AllocateMemory() schneller als ReadFile()?
AllocateMemory() schneller als ReadFile()?
Hi, ich habe eine Frage. Es gibt zwei Möglichkeiten (oder auch mehr, aber nur diese zwei sind wichtig), wie man den Inhalt einer Datei in ein EditorGadget einfügt. Meine Frage ist, welcher Befehl schneller ist?
- 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
Wenn es ums laden von Text in ein EditorGadget unter Window geht:
Ansonsten, es ist schneller den gesamten Text mit ReadData auf einmal zu
lesen, als mit ReadString, vorausgesetzt es sind mehr als 3 Zeilen
//typo korrigiert
Code: Alles auswählen
Procedure StreamFileIn_Callback(hFile, pbBuff, cb, pcb)
ProcedureReturn ReadFile_(hFile, pbBuff, cb, pcb, 0) ! 1
EndProcedure
Procedure Editor_Load(Gadget, File.s)
Protected StreamData.EDITSTREAM
Protected FF_File = ReadFile(#PB_Any, File)
If FF_File
StreamData\dwCookie = FileID(FF_File)
StreamData\dwError = #Null
StreamData\pfnCallback = @StreamFileIn_Callback()
If UCase(GetExtensionPart(File)) = "RTF"
SendMessage_(GadgetID(Gadget), #EM_STREAMIN, #SF_RTF, @StreamData)
Else
SendMessage_(GadgetID(Gadget), #EM_STREAMIN, #SF_TEXT, @StreamData)
EndIf
CloseFile(FF_File)
EndIf
EndProcedure
lesen, als mit ReadString, vorausgesetzt es sind mehr als 3 Zeilen

//typo korrigiert
Zuletzt geändert von ts-soft am 19.11.2006 17:42, insgesamt 1-mal geändert.
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.

- remi_meier
- Beiträge: 1078
- Registriert: 29.08.2004 20:11
- Wohnort: Schweiz