Datei shared öffnen
Datei shared öffnen
Hallo,
folgende Frage:
Kann man mit Purebasic eine Datei shared öffnen? Soll heissen: Datei wird mehrfach zum lesen und schreiben geöffnet?
Gruss
hja
folgende Frage:
Kann man mit Purebasic eine Datei shared öffnen? Soll heissen: Datei wird mehrfach zum lesen und schreiben geöffnet?
Gruss
hja
... eigentlich nich
Einen konkurrierenden Schreibzugriff unterstützt das Betriebssystem
(novell konnte sowas glaubt sich mein müder bräger erinnern zu können)
oder die Anwendung.
Da ein Openfile() eine Meldung bei Misserfolg zurückgibt kannst Du
Dir mit einer Struktur wie folgt in einem Kontext der nur kurz auf Dateien
schreibenderweise zugreifen soll helfen. Für ReadFile schadet solches auch
nicht gerade.
Einen konkurrierenden Schreibzugriff unterstützt das Betriebssystem
(novell konnte sowas glaubt sich mein müder bräger erinnern zu können)
oder die Anwendung.
Da ein Openfile() eine Meldung bei Misserfolg zurückgibt kannst Du
Dir mit einer Struktur wie folgt in einem Kontext der nur kurz auf Dateien
schreibenderweise zugreifen soll helfen. Für ReadFile schadet solches auch
nicht gerade.
Code: Alles auswählen
q=0
While Openfile(0,"d:\fredlfesl.cfg")=0
Delay(1000)
q+1
If q>20
Messagerequester("och","ich gebs auf",0)
Endif
Wend
Debug "na endlich darf ich auch mal"
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Hallo,
danke für die Antwort.
Diese Lösung hatte ich als Notlösung auch schon angedacht. Wird aber letztendlich nicht viel bringen, da der Zustand "Ich darf noch nicht.." sehr oft vorkommen kann und das Schreiben keinesfalls am Ende ganz verhindert werden darf.
Anwendungsfall: Grosse Artikeldatei, 1 User ändert alle Artikel. 2 User jeweils nur 1 Satz. Nun könnte man zwar bei JEDEM Zugriff die Datei neu öffnen, was aber bei vielen Artikeln nicht sinnvoll ist. Also z.B. bei 10 Tausend Artikeln auch 10 Tausend mal öffnen, schliessen. Wobei dabei nat. die 2 User eine Lücke erwischen werden.
Naiverweise hab ich mir das bei Purebasic nicht votrher angesehen, da ich gwohnt war Dateien shared öffnen zu können.
Gruss
hja
danke für die Antwort.
Diese Lösung hatte ich als Notlösung auch schon angedacht. Wird aber letztendlich nicht viel bringen, da der Zustand "Ich darf noch nicht.." sehr oft vorkommen kann und das Schreiben keinesfalls am Ende ganz verhindert werden darf.
Anwendungsfall: Grosse Artikeldatei, 1 User ändert alle Artikel. 2 User jeweils nur 1 Satz. Nun könnte man zwar bei JEDEM Zugriff die Datei neu öffnen, was aber bei vielen Artikeln nicht sinnvoll ist. Also z.B. bei 10 Tausend Artikeln auch 10 Tausend mal öffnen, schliessen. Wobei dabei nat. die 2 User eine Lücke erwischen werden.
Naiverweise hab ich mir das bei Purebasic nicht votrher angesehen, da ich gwohnt war Dateien shared öffnen zu können.
Gruss
hja
Das du Dateien shared öffnen kann war dann aber eine Sonderfunktion der jeweiligen Programmiersprache...., weil wie gesagt mit Win unmöglich...
Könnte man das Problem nicht mit einer Datenbank lösen?
Gruß
Scarabol
Könnte man das Problem nicht mit einer Datenbank lösen?
Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
Stimmt nicht, ich hab erst neulich bei CodeProject.com einen ArtikelScarabol hat geschrieben:Das du Dateien shared öffnen kann war dann aber eine Sonderfunktion der jeweiligen Programmiersprache...., weil wie gesagt mit Win unmöglich...
gelesen der genau das behandelte.
Ist aber relativ kompliziert -> Wer suchet der findet...
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Hallo,
das kann ich so nicht bestätigen. Ich arbeite schon seit ewigen Zeiten mit Shared Dateien. Zumindest bisher hab ich noch nie einen Compiler gehabt, der das nicht unterstütze. Und der kann das ja auch nur, wenn das Betriebssystemd das unterstüzt. Zu diesem Zweck musste man bis WIN95 auch das Programm share.exe ausführen, welches ab Win98 überflüssig wurde.
Angesehen habe ich mir jedoch trotzdem mal einige andere Lösungen.
Die Bordmittel von Purebasic unterstützen kein Satzpositionieren in der Datenbank, ausser "hinlaufen"
SQLITE sperrt gleich die gesamte DB
SQL-Server ist zu aufwendig u. letztendlich kompliziert für einen Durchschnitts-Anwender.
Gruss
hja
das kann ich so nicht bestätigen. Ich arbeite schon seit ewigen Zeiten mit Shared Dateien. Zumindest bisher hab ich noch nie einen Compiler gehabt, der das nicht unterstütze. Und der kann das ja auch nur, wenn das Betriebssystemd das unterstüzt. Zu diesem Zweck musste man bis WIN95 auch das Programm share.exe ausführen, welches ab Win98 überflüssig wurde.
Könnte ich, aber genau das will ich eigentlich nicht. Ich will eine Anwendung erstellen, die NICHTS zusätzliches benötigt. Keine ODBC-Sachen, keine fremde Datenbank, keine zusätzlichen DLLs usw. Also bau ich die Datenbank mit ein.Könnte man das Problem nicht mit einer Datenbank lösen?
Angesehen habe ich mir jedoch trotzdem mal einige andere Lösungen.
Die Bordmittel von Purebasic unterstützen kein Satzpositionieren in der Datenbank, ausser "hinlaufen"
SQLITE sperrt gleich die gesamte DB
SQL-Server ist zu aufwendig u. letztendlich kompliziert für einen Durchschnitts-Anwender.
Gruss
hja
Letztlich wirst du um ne Art Versionierungssystem nicht drumrumkommen.
ne Datenbank kann da auch nur soweit helfen als wie die Daten da
stückweise und bearbeitbar vorliegen.
hmmm ..
oder sowas???
die zu bearbeitenden Teile aus der zu bearbeitenden Datei rausziehen und dabei den Platz merken (von Anfang bis Ende mit einer Marke des Bearbeiters markieren), den Teil extern bearbeiten und nach der Bearbeitung beginnend an der Markierung ins Original einfügen und
letztlich den vorher markierten Bereich rausnehmen.
Während der Bearbeitung dürfen andere natürlich auf diesen markierten
Bereich nicht zugreifen. Sollte die Anwendung steuern.
Bei nicht allzu riesigen Dateien sollte das performant machbar
sein.
ne Datenbank kann da auch nur soweit helfen als wie die Daten da
stückweise und bearbeitbar vorliegen.
hmmm ..
oder sowas???
die zu bearbeitenden Teile aus der zu bearbeitenden Datei rausziehen und dabei den Platz merken (von Anfang bis Ende mit einer Marke des Bearbeiters markieren), den Teil extern bearbeiten und nach der Bearbeitung beginnend an der Markierung ins Original einfügen und
letztlich den vorher markierten Bereich rausnehmen.
Während der Bearbeitung dürfen andere natürlich auf diesen markierten
Bereich nicht zugreifen. Sollte die Anwendung steuern.
Bei nicht allzu riesigen Dateien sollte das performant machbar
sein.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
SQLITe lockt nur wenn geschrieben wird. Wenn geschrieben wurdeHJA hat geschrieben: ...
SQLITE sperrt gleich die gesamte DB
..
ist das Lock auch wieder weg. Der Schreibvorgang selber ist dabei
recht kurzfristig. Mit ein wenig Auswertung der jeweiligen SQLite-
rückmeldungen und entsprechender Reaktion bekommt man ein
MultiuserSQLIte hin ..
hab das auch schonmal gemacht und es hat letztlich funktioniert
und es funktioniert immer noch.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Es gibt so viele freie Datenbanken. Wozu das ganze noch mal entwickeln.
Windows liefert Access gleich mit und MySQL oder SQL-Sever Express kann man sich runter laden.
Dann noch sich mit SQL einarbeiten und los legen.
Windows liefert Access gleich mit und MySQL oder SQL-Sever Express kann man sich runter laden.
Dann noch sich mit SQL einarbeiten und los legen.
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