Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Error handling

Frage Entwicklung KiXtart

Mitglied: Demian

Demian (Level 1) - Jetzt verbinden

24.07.2008, aktualisiert 12.09.2008, 4873 Aufrufe, 2 Kommentare

Moin,moin alle zusammen,

ich fange gerade an, mich mit KixScript auseinander zu setzen und habe schon das erste Problem, bei dem ich weder in der Forumsuche noch mit Google wirklich weiterkam.

Wie setzt man @16034 zurück? Wenn ich zum Beispiel folgenden Code habe:

cd C:\Temp

If @16034 = 0
del C:\Temp\
else
Messagebox(@error,"Test")
EndIf

Messagebox(@error,"Test")


wird bei der 1. msgbox Fehler Nr. 2 angezeigt (Pfad nicht vorhanden). Bei der 2. wird jedoch Fehler Nr. 1 angezeigt??? Also wird @16034 ja nicht zurückgesetzt, oder? Das hätte für spätere @16034 Abfragen ja dramatische Folgen. Ich habe im Netz einige Scripte gesehen, aber in keinem wird @16034 zurückgesetzt.

Gruß
Demian
Mitglied: 60730
24.07.2008 um 18:07 Uhr
Servus,

mit @16034 arbeite ich nicht gerne.

01.
If Exist ("C:\temp\") 
02.
              del "C:\temp\*.*" 
03.
EndIf 
04.
Messagebox(@error,"Test")
Damit kannst du @16034 "elegant" Umgehen.
"dein Problem" ist die Abfrage ansich - @16034 ist "aktuell und muß nicht "zurückgesetzt werden - kann aber:

Du fragst einfach etwas ab, das garantiert 0 zurückliefert.

01.
if existkey( "HKEY_CURRENT_USER\" ) <> "0" 
02.
endif 
03.
Messagebox(@error,"HKCU")
01.
Messagebox(@error,"Tempo4") 
02.
	if existkey( "HKEY_CURRENT_gibtsnicht\" ) = "1" 
03.
Messagebox(@error,"HKCX") 
04.
endif
Gruß
Bitte warten ..
Mitglied: JJKix
12.09.2008 um 20:39 Uhr
Hallo,
mit @16034 zu arbeiten macht schon Sinn und dieses Makro kann nur abgefragt und nicht zurückgesetzt werden.

hier meine Lösung für das obere Beispiel:

Dim $Error
CD "C:\Temp"
$Error = @16034
If $Error = 0
Del "C:\Temp\*.*"
Else
; Da MessageBox eine Funktion ist, gibt diese auch einen wert zurück.
; Deshalb immer mit Zuweisung arbeiten
$ = MessageBox($Error,"Test")
EndIf

If Messagebox($Error,"Test") EndIf

Sicherlich macht es Sinn, sich nach der Existenz des Verzeichnisses vorher zur erkundigen:

If Exist("C:\Temp")
Del "C:\Temp\*.*"
$Error = @16034
$Descr= @SError
If $Error = 0
If MessageBox("erfolgreich", "Löschen") EndIf
Else
If MessageBox("nicht erfolgreich" + @CrLf + @CrLf + "Fehler " + $Error + " " + @SError, "Löschen") EndIf
EndIf
Else
; Verzeichnis existiert nicht
If MessageBox("Verzeichnis 'C:\Temp' existiert nicht", "Löschen") EndIf
EndIf
Bitte warten ..
Ähnliche Inhalte
Webentwicklung
Daten Handling (6)

Frage von pcguy zum Thema Webentwicklung ...

Datenbanken
Handling von mehreren Reporting-Mitarbeitern an einem SSRS

Frage von AdminKnecht zum Thema Datenbanken ...

Batch & Shell
gelöst Nonsense Error - find ihn nicht. (Batch) (7)

Frage von clragon zum Thema Batch & Shell ...

Drucker und Scanner
Laserjet 3600N Fehler PCL Error (1)

Frage von grillinator95 zum Thema Drucker und Scanner ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...