CloseFile Simulieren? -DateiStream Problem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

TimBo

Betreff: CloseFile Simulieren? -DateiStream Problem

BeitragDo, Jul 16, 2009 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Guden Tach,

mir ist aufgefallen, dass wenn ich WriteFile o. OpenFile, dass dann die Änderungen in den Dateien nach den Writebefehlen erst durchkommen, wenn ich CloseFile benutze. Wenn ich aber eine Hardware über die Com Schnittstelle benutze, muss die änderung "sofort" da sein und nicht erst nach CloseFile.

Eine Lösung wäre
open
write
close
. . .
open
write
close

aber am coolsten wäre ja
open
write
...
write
ende von programm
close

geht das ?
In q-basic soll es laut handbuch der Hardware funktionieren, da werden alle Befehle als ASCII Zeichen über die Com Schnittstelle gesendet.

Hoffe es kann mir einer Helfen
Greez
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

hazumu-kun

BeitragDo, Jul 16, 2009 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Dir wird nichts anderes übrigbleiben als den Stream jedesmal zu closen.
Bau dir doch einfach ne Funktion dafür.
Dann ist das net son Buchstabensalat hinterher
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Pummelie

BeitragDo, Jul 16, 2009 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hättest auch die möglichkeit ein kleines Quickbasik Programm zu schreiben, was per udp mit deinen komuniziert, und alles schreibt.
Allerdings weiß ich nicht wie es da mit den Befehlen und so steht.
It's done when it's done.

TimBo

BeitragFr, Jul 17, 2009 11:43
Antworten mit Zitat
Benutzer-Profile anzeigen
ich mache das gerade mit der lösung das man das immer closed aber das ist ja auch nicht wirklich das wahre oder ?

ich werde versuchen das mit q-basic zu schreiben.
Das wird vll. schwer aber ned unmöglich

Danke für die Hilfe !

mfg
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

hazumu-kun

BeitragFr, Jul 17, 2009 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
wieso ist das nicht das wahre?
Also für mich ergibt das irgendwie sogar Sinn.

Openfile =>> Com-Paket öffnen
Write.... =>> Daten einfüllen
Closefile=>> Paket abschicken
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

The_Nici

BeitragFr, Jul 17, 2009 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Versuch mal das hier:
https://www.blitzforum.de/foru...hp?t=29004

MfG

TimBo

BeitragDi, Jul 28, 2009 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich bin am verzweifeln.
Mit der dll funktioniert es auch nicht.
Es geht , aber nur dann , wenn eine andere Software als erstes auf die Hardware zugreift und dann das Basic Programm. Rolling Eyes

Q-Basic hat auch kein udp sodass ich mal eben ein anderes Programm im Background laufen lassen könnte.

Hat jemand noch ideen ? Will das ganze Projekt nicht aufgeben.

Viele Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jul 28, 2009 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Windows übernimmt die Dateiverwaltung, und wenn du nun 3 Bytes zu einer Datei schreibst, ist Windows zumindest schlau genug nicht extra dafür die Festplatte an Position X/Y zu manövrieren um nach einer Sekunde das gleiche noch einmal zu tun, wo am Ende die Festplatte das ganze System lahm legt, da ständig einzelne Bytes geschrieben werden sollen. Mit CloseFile wird Windows signalisiert, dass die Datei nach belieben feststeht und so abgeschlossen werden kann, was zum echtem Speichern aus dem von Windows kontrolliertem RAM führt.

Also kein Blitz3D-Problem, sondern eine sinnvolle Sache. Genau aus diesem Grund sollte man auch USB-Speichersticks nicht einfach raus ziehen wenn man da gerade Daten drauf gespielt hat. Auch dann nicht, wenn der Kopiervorgang als ''Abgeschlossen'' anzusehen ist. Immer erst abmelden. Das gleiche Problem.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

TimBo

BeitragMi, Jul 29, 2009 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ok dann ist es wohl echt schwer so. Denn ich wollte ja mit einer Hardware komunizieren und keine Datei schreiben. Also gut, dann werde ich das mit Open Write Close machen müssen und die Dll kann ich dann auch nicht mehr benutzen.

Q-Basic hat anscheinend nicht dieses Feature mit dem Intelligenten Festplattenkopf und da scheint es noch zu funktionieren.

Was solls-
werde ich mein Programm optimieren und es nach dem "langsamen" Prinzip machen.

Viele Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

hazumu-kun

BeitragMi, Jul 29, 2009 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Meines Erachtens nach ist COM nicht soo schnell dass du mit BlitzBasic den Port nicht voll ausgelastet bekommst.
Also ist es mit CloseFile immer noch schnell genug denke ich.
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

TimBo

BeitragMi, Jul 29, 2009 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
was davor echtzeit war geht jetz mit 10 fps wenns hoch kommt...
aber ich habe das jetz mit einer Liste gemacht:
Wichtige informationen werden in types gespeichert und in einem intervall gesendet unwichtige wie die geschwindigkeit (die man theo. in jedem Frame ändern kann, verfallen halt und wird auch nur in einem bestimmten intervall aktualisiert. alle 100millisecs glaube ich, und auch nur dann wenn eine änderung vorgenommen wurde.)

Viele Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group