Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan

XProfan Alles rund um die Programmiersprache XProfan.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3361, Antworten: 129
Gehe zum ersten neuen Beitrag Hamachi deinstallieren
Aufrufe: 58, Antworten: 5
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7670, Antworten: 187
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26970, Antworten: 4223
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50963, Antworten: 1397
Gehe zum ersten neuen Beitrag Pc lahmt plötzlich
Aufrufe: 186, Antworten: 6
Gehe zum ersten neuen Beitrag PC fährt nicht mehr hoch.
Aufrufe: 0, Antworten: 0
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 329, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 28, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 34, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17.08.2011, 14:57   #1 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard Welche dbase-Datei geöffnet?

Hallööchen, ich brauche eine Möglichkeit, um festzustellen, ob dbf-dateien, die ich mit db("open",N,S) geöffnet habe schon geschlossen sind oder nicht.
Oder: ob zur Zeit dbf-dateien geöffnet wurden/sind, wenn ja welches Handle.

@FileStatus$(#N) liefert in diesem Fall immer einen Leerstring. Eignet sich also nicht für diesem Zweck. (was ja auch logisch ist)

Hintergrund: Beim Entwickeln & Testen bau ich mitr oft so eine "beenden-proc", die ich dann an beliebiger Stelle im Code aufrufe. Dort schließe ich alle bis dahin geöffneten Text oder dbasedateien & sql-Verbindungen.
Um diese dann nicht immer extra ändern zu müssen (weil mal mehr - mal weniger dbf-dateien geöffnet sind), wollte ich mir so eine Universalfunktion bauen, die das prüft & alle dbf's ordentlich schließt, bevor das prog beendet wird.
Könnte auch nützlich werden, wenn das Programm aus irgendwelchen Gründen vorzeitig beendet werden muß. In diesem Fall könnte ich Zentral alle noch offenen dbf-Dateien schließen. Ein pauschales db("close",#N1-N15) in einer Schleife geht auch nicht.
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3

Geändert von JörgG (17.08.2011 um 15:07 Uhr)
JörgG ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 17.08.2011, 17:01   #2 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 759
Standard

Wie wäre es mit Arrays, jeweils eins für Datei, DBase, SQL? Immer, wenn Du was erfolgreich geöffnet hast, suchst Du im jeweiligen Array die erste Zelle, die 0 enthält und trägst dort die Dateinummer oder das SQL-Handle ein. Schließt Du etwas, suchst Du wieder das entsprechende Array nach der geschlossenen Sache ab und setzt den gefundenen Wert auf 0. Die Beenden-Proc muß dann die Arrays durchackern und jede Stelle, die nicht 0 ist schließen.
Das Ganze dann als Include mit dem Prozeduren AddFileItem X, DeleteFileItem X und CloseAll, und Du hast die ganze Arbeit nur einmal und brauchst im Programm nur bei Erfolg die Add.. oder Delete..Proc aufrufen. In die Exitproc Deines Programmes kommt dann CloseAll rein.

Gruß Volkmar
Volkmar ist gerade online   Mit Zitat antworten
Alt 17.08.2011, 21:12   #3 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard

Hi Volkmar, dein Ansatz gefällt mir. Ich werde mal in dieser Richtung was zusammenschrauben. Der Index des jeweiligen Arrays könnte dann gleichzeitig das db- oder FileHandle sein. Dann kann ich direkt drauf zugreifen, ohne das Array nach der nächsten freien Stelle zu durchsuchen. Also:
Code:
DBarray%[Handle%] = 1 'geöffnet
DBarray%[Handle%] = 2 'geschlossen
Bei closeAll kann ich dann die Suche beenden, sobald ein Element den Wert 0 hat. Oder ich benutze dynamische Arrays, die haben dann eh nur so viel Elemente, wie Dateien geöffnet sind. Bei den SQL-Verbindungen muß ich halt einen manuellen Zähler einsetzen (ist aber eher selten, daß 2 oder mehr Verbindungen gemacht werden)
Gute Idee - Danke! Ich meld mich mal, wenn ich das ausprogrammiert habe
Bis denne
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3
JörgG ist offline   Mit Zitat antworten
Alt 17.08.2011, 21:32   #4 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von _Joerg_
 
Registriert seit: 15.02.2011
Beiträge: 106
Standard

Ich weiß nicht, wie groß die Handles sind. Wenn die sich aber im Bereich abspielen, wie Fensterhandles, würde ich das so eher nicht machen. Erstens erhälst Du so unütz große Arrays, die Du dann zweitens auch noch abklappern mußt, um herauszufinden, ob die Datei offen ist, oder nicht.
Ich würde einfach eine Listbox als Array nehmen. Handle in ie Liste, wenn geöffnet - wieder raus, wenn zu. So bleibt die Liste überschaubar und du kannst sie ruckzuck abarbeiten, wenn Du alles schließen willst.
__________________
Anhören lohnt sich wuestensand.info
_Joerg_ ist offline   Mit Zitat antworten
Alt 17.08.2011, 21:42   #5 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 759
Standard

JörgG meinte da mit Handle die Dateikennung, also #1 wäre dann Array%[1] u.s.w. Aber Listboxen wären da die noch bessere Möglichkeit. die haben dann nur so viele Einträge, wie aktuell Dateien offen sind. ist sogar noch besser, finde ich.

Gruß Volkmar
Volkmar ist gerade online   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 17.08.2011, 22:39   #6 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard

ok, im Grunde genommen sind Listboxen im "inneren" ja auch Arrays. Ich bin da jetzt nicht ganz sicher, aber kann ich denn z.B. 3 Listboxen-Listen parallel betreiben?
@_Joerg_, wie Volkmar schon sagte: das Array für die DBF wäre maximal 16 Elemente groß & das Array für die Dateien max. 100 Elemente. (falls ich fest declariere). Bei dynamisch declarierten Arrays hätte ich den gleichen Effekt, wie bei der Listbox
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3
JörgG ist offline   Mit Zitat antworten
Alt 17.08.2011, 22:54   #7 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 759
Standard

Listboxen kannst Du wie jedes Control so viel nutzen, wie rein passen, wenn Du sie mit Create("ListBox", ..) oder als reine Liste mit Create("List", ..) erzeugst und Dich nicht auf die ständig verfügbare Listbox-Liste beschränkst. Da könntest Du dann beim Schließen wieder die Zeile löschen und hättest zum Schluß nur so viele Zeilen in der Liste, wie noch Dateien offen sind. Beim Hinzufügen wäre es ein einfaches AddString() nur beim Löschen müßtest Du die Zeile wieder suchen.

Gruß Volkmar
Volkmar ist gerade online   Mit Zitat antworten
Alt 17.08.2011, 23:16   #8 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard

hmm, hast Recht! habe grad mal schnell nachgelesen, beim löschen könnte ich die betreffende DateiNr. mit:
Code:
@SelectString(N1,N2,S)
schnell finden & dann dieses Element löschen.
Dann könnte ich zum Schluss (closeAll) einfach ganz stumpf die restlichen Elemente abarbeiten, ohne irgendwelche Bedingungen abfragen zu müssen
Jo! Ich werde dafür die Listen als Basis nehmen. Ist doch immer wieder gut, wenn man etwas länger über den Lösungsweg redet, bevor man anfängt, zu coden
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3
JörgG ist offline   Mit Zitat antworten
Alt 17.08.2011, 23:22   #9 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 759
Standard

Zitat:
Zitat von JörgG Beitrag anzeigen
Jo! Ich werde dafür die Listen als Basis nehmen. Ist doch immer wieder gut, wenn man etwas länger über den Lösungsweg redet, bevor man anfängt, zu coden
Ja, stimmt. Die erste Idee ist nicht immer die Beste. Auf gutes Gelingen.

Gruß Volkmar
Volkmar ist gerade online   Mit Zitat antworten
Alt 17.08.2011, 23:45   #10 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard

Jo Danke, auch an _Joerg_ für den "Denkanstoß"
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3
JörgG ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DBase III Datei anzeigen. Mit Update Möglichkeit. Gerhard Putschalka Helfer & Tools 2 16.02.2011 07:12
Eine Datei mit Namen ... ist bereits geöffnet Paule a.) Tabellenkalkulation 0 28.10.2008 00:05
Word im IE geöffnet, Datei senden an (als Anlage)? Axcel Gast Browser, eMail und Messenger 2 29.03.2007 12:01
Datei soll geöffnet und wieder geschlossen werden Peaceman Sonstige Programmiersprachen 3 29.04.2006 14:34
PSF-Datei kann nicht geöffnet werden! Tim-Nikola Windows XP 4 27.03.2006 09:07



Alle Zeitangaben in WEZ +2. Es ist jetzt 12:48 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2