Archiv verlassen und diese Seite im Standarddesign anzeigen : Datei nicht gefunden unter VB abfangen
Import-Script
17.08.2003, 18:24
Hallo, <BR> <BR>ich will eine Datei unter VB mit <BR> <BR>open "C:..." for output as #1 <BR> <BR>öffnen - wie fange ich die VB fehlermeldung ab wenn die Datei nicht vorhanden ist ? <BR>
Import-Script
17.08.2003, 19:56
ON ERROR RESUME NEXT <BR>das ist Quietschbasic, aber sollte unter VB den kompatiblen Microsoft-Effekt zeigen, nämlich die Fehlermeldung ignorieren, - was natürlich wenig Sinn macht. <BR>ON ERROR GOTO FEHLERBEHANDLUNG <BR> <BR>FEHLERBEHANDLUNG: <BR>Print"Bitte Diskette einlegen!" <BR>INPUT DUMMY <BR>ON ERROR RESUME NEXT <BR>GOTO FEHLERBEHANDLUNG <BR>so in etwa war das mal gedacht. <BR> <BR>Wieviel von der Kompatibilität allerdings nach MS-Manier davon noch über ist... ????????? <BR>probiers aus. <BR> <BR>Wichtig bei Quietschbasic war auch dass Checking between statements aktiviert war und man konnte mit <BR>ERROR ON <BR>ON ERROR... da auch noch nachhelfen. <BR> <BR>Schau mal in die Online-Hilfe <img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Import-Script
17.08.2003, 20:23
richtig es geht ... <BR> <BR>On Error GoTo ErrorHandler <BR> <BR> <BR>ErrorHandler: <BR>Titel = "Achtung" <BR> Text = "Konfigurationsdatei Config.ini nicht gefunden " & NL <BR> Text = Text & (Chr(13)) & " Die Pfadvorgaben sind jetzt leer" <BR> MsgBox Text, 48, Titel
Import-Script
18.02.2004, 00:13
ich weiß ja net ob das beabsichtigt ist, aber als dateihandler würd ich keinen festen wert (bei dir #1 ) nehmen. <BR> <BR>DateiNr= Freefile <BR>open "C:..." for output as DateiNr <BR> <BR>DateiNr ist nne Integer
Import-Script
18.02.2004, 03:21
@Sebastian: Warum nicht? Wie kommst Du auf sowas? <BR>Man öffnet eine Datei namens XYZ und gibt ihr für die weitere Verwendung eine Nummer #1, #2 usw.. <BR>In Basic <BR>open "Dateiname" for... as #1 <BR> <BR>In Pascal: <BR>var <BR>f1: file of... <BR>f2: file of... <BR>usw. <BR>reset (f1,'Dateiname'); <BR> <BR>ansonsten hiesse es ja "Error: nächst freie Dateizuordnungsmöglichkeit nicht zu öffnen" - eben eine der total aussagekräftigen Meldungen, die jeder Supporter (natürlich abhängig von der Systemkonstellation und ungünstigen ??? usw. sofort einzugrenzen weiss) - weil sein Freefile() gerade 4711 anzeigt. Super, weiter so! <img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0> <BR> <BR>Noch ein paar davon, und die Menschheit weiss endlich, warum die neue(n) Software(s) ab und zu mal streiken. Hauptsache, keiner weiss wo, und man hat alle Debugchancen bereits bei der Programmentwicklung wirksam unterbunden. <BR> <BR>Empfehlung: <BR>Randomize <BR>Filename = STR$(RND(5)) <BR>Handle = INT(RND(6)) <BR>InOutMode = Int(RND(3)) <BR>open Filename for InOutMode as Handle <BR> <BR>geil gell...<img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0> <BR>
Import-Script
18.02.2004, 09:36
öffne mal keine datei und lass die freefile anzeigen <BR>und dann starte mal 20 programm und ladt in jedes programm ne datei. <BR>da wirst du mit deiner #1 ne problem bekommen, weil der dateihandler schon verwendet gibt. <BR> <BR>freefile gibt auf jeden fall einen freien handler zurück. <BR>bzw. wenn dein programm gerade mit #1 eine datei öffnent und dann ein anderes programm über freefile einen dateihandler anfordert könnte er auch die #1 bekommen, da freefile ja net weiß, dass da ein programm quer schlägt und sich einfach selber einen dateihandler "geklaut" hat
Import-Script
18.02.2004, 13:16
Ich weiss ja nicht, was Du für ein schwindliges Betriebssystem benutzt, aber im Normalfall sind Filehandles "Children" der jeweiligen Programme, also PROG1.#1 Prog2.#1 usw. <BR>Ein Betriebssystem hat genau das!!! genau so!!! zu verwalten, oder landet bei Dir auch ein Print oder Writeln in irgendeinem Fenster eines anderen Programms? Dann wird´s aber Zeit, ein anderes BS zu verwenden.
Import-Script
18.02.2004, 14:37
ok, es sind kinder. ja <BR> <BR>allerdings wird es ab einer gewissen größe und im sinne der ereignissorientierten programmierung aber schwierig zu wissen, welche datei offen sein _könnte_ und welche net. <BR>von daher ist es doch einfacher und sicherer, direkt auf freefile zu setzen und fertig. <BR> <BR>außerdem dürfte es wohl einfacher sein, dann seine projekte zu erweitern.
Import-Script
18.02.2004, 18:55
NEIN, und nochmal NEIN! <BR>Das ist einzig Sache des Betriebssystems und dem verwendeten Compiler, NIEMALS Sache des Endanwenders!!! bzw. Programmierers der Anwendung. <BR>Dass DOS mit files=... ein Limit hat, oder nicht mehr als 512 Dateien im Hauptverzeichnis kann, und dass ältere MAC-OSse Probleme > 5000 Dateien pro Ordner hatten, waren Betriebssystemunzulänglichkeiten, sowas halt, nie aber etwas das den Programmierer einer Anwendung zu interessieren hätte. <BR>Bestes Beispiel die Batronix-Box hier; jetzt mit ihren Internal-Server-Errors. Man kann halt nicht mehr Strukturen im Speicher halten, als welcher da ist. Alle Systeme sind Endlich. Spätestens, wenn Filehandle im Betriebssystem als Integer behandelt wird ist bei 32767 Dateien fini. Das liegt aber am Betriebssystem.
Import-Script
24.02.2004, 19:01
Naja, wer öffnet auch 32767 Dateien gleichzeitig?
Import-Script
24.02.2004, 19:41
@Martin: ... unser Sebastian Just (anscheinend)... <BR>also ich hab´s auch noch nicht hinbekommen <img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0> <BR> <BR>Abgesehen davon kann man die Datei ja nach "reinschreiben wieder schliessen", die muss ja nicht den lieben langen Tag offen sein, dem (z.B. Novell Server mit TTS einen "doppelten Haushalt bescheren") nur weil die Transaktion nicht abgeschlossen wird (mit close file). <BR>So lange hält der eine Kopie offen, wenn TTS aktiv ist; soll ja auch - und jetzt: KANN ER AUCH, zumindest behauptet Novell das. <BR>Ist halt immer blöd, solche Angaben zu überprüfen, oder dem Hersteller dann zu sagen: "Was hast Du für ein Mist-Betriebssystem, kann keine Milliarde Dateien gleichzeitig"??!!--- <BR>
Import-Script
01.03.2004, 15:38
Bin der Meinung, dass <BR> <BR>open "C:..." for output as #1 <BR> <BR>1. keine Fehlermeldung erzeugt, wenn die Datei nicht da ist, sondern die Datei anlegt. <BR> <BR>2. wenn die Datei da ist wird alte der Inhalt der Datei durch die Open-Anweisung überschrieben. <BR> <BR>Um weitere Sätze an die Datei anzufügen bietet sich <BR> <BR>open "C:..." for append as #1 <BR> <BR>an. <BR> <BR>Siegfried <BR>
Import-Script
02.03.2004, 13:31
Mr. Weihnachtsmütze muss jetzt auch mal seinen senf abgeben: <BR> <BR>Wie Andreas richtig vermutet hat, beziehen sich die Dateizeiger auf den prozess... <BR>wenn du fix #1 verwendest und das programm 5 mal startest gibt es immer noch keine kollision. <BR>freefile zu verwenden ist insofern sinnvoll wenn man innerhalb eines programmes mehrere dateien gleichzeitig öffnet und sich nicht den kopf über verwendete zeiger zerschlagen will. <BR> <BR>@siegfried: <BR>bin da mit dir gleicher meinung :-) <BR> <BR>@ tobias: <BR>"On Error GoTo ErrorHandler " <BR> <BR>am ende deines errorhandlers sollte dann entweder ein "resume next", ein jump woanders hin oder ein exit sub/function stehen, sonst salatet es gewaltig :->
Powered by vBulletin® Version 4.1.7 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.