Top-Themen

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

gelöst Leere Zeile

Mitglied: charmeur

charmeur (Level 1) - Jetzt verbinden

07.08.2011, aktualisiert 02:43 Uhr, 3428 Aufrufe, 11 Kommentare, 1 Danke

Hallo ihr
ich habe noch mal eine frage, und zwar im folgenden code wird eine txt datei ausgelesen und in einer msgbox widergegeben
doch leider erscheint die msgbox auch wenn nichts in der zeile steht wie kann ich das unterbinden?
und noch eine glizekleine frage
wie bekomme ich es hin, das ich eine msgbox mit zwei button (ja/nein) habe, die jenachdem was gdrückt wird verschiedene ausführungen tätigen


01.
Option Explicit
02.
on error resume next
03.
Dim oXL
04.
Dim arrLines
05.
Dim WshShell
06.
Dim iReturn
07.
Dim sMessage, sTitel, sTitel1
08.

09.
arrLines = DownloadArray("http://tspo...../media/hs/hh/1.txt")
10.

11.
If VarType(arrLines) <> vbEmpty Then
12.

13.
 'Fenstertitel erstes fenster
14.
  sTitel = arrLines(2)
15.
  sTitel1 = arrLines(4)
16.

17.
If not arrLines(3) = "" Then
18.
    sMessage = "Hallo " & arrLines(0) & "INFOS!!!" & vbNewLine & vbNewLine & "bezahlt bis --> " & arrLines(1) & "         Stand --> " & arrLines(7) & vbNewLine & "  dabei seit --> " & arrLines(9) & vbNewLine & arrLines(10)
19.
    Set WshShell = CreateObject("WScript.Shell")
20.
    iReturn = WshShell.Popup(sMessage, arrLines(8), sTitel, vbInformation)
21.
  End If
22.

23.
  Select Case iReturn
24.
    Case -1
25.
      sMessage = arrLines(0)
26.
  End select
27.
  
28.

29.
  If not arrLines(5) = "" Then
30.
  iReturn = WshShell.Popup(arrLines(5), 0, sTitel1, vbInformation)
31.
  End If
32.

33.

34.
  
35.
If not arrLines(6) = "6 -" Then
36.
  WshShell.Run arrLines(6)
37.
  End If
38.

39.
End If
40.
Public Function DownloadArray(ByVal URL) 'As String
41.
  Dim WebReq 'As MsXml2.XmlHttp
42.
  Dim FSO 'As Scripting.FileSystemObject
43.
  Set WebReq = CreateObject("WinHttp.WinHttpRequest.5.1")
44.
  Set FSO = CreateObject("Scripting.FileSystemObject")
45.
  WebReq.Open "get", URL, False
46.
  WebReq.Send
47.
  DownloadArray = Split(WebReq.ResponseText, vbLf)
48.
End Function
49.

50.

51.

52.
Mitglied: Centauri
07.08.2011 um 09:56 Uhr
Hallo Charmeur,

Ich vermute, dass deine Zeilen nicht ganz leer sind. versuche mal mit Trim eventuelle Leerzeichen zu entfernen.

Für Meldefenster nehme ich immer Msgbox("Test","Titel",vbyesno)

Du kannst das Ergebnis gegen vbyes oder vbno prüfen.

Tschüss

Centauri
Bitte warten ..
Mitglied: 76109
07.08.2011 um 10:09 Uhr
Hallo charmeur!

Ist das ein VBS- oder VBA-Code?

Beispiel für Ja/Nein/Nothing:
01.
Set WshShell = CreateObject("WScript.Shell")
02.
    
03.
Select Case WshShell.PopUp("Message", 3, "Titel", vbInformation Or vbYesNo)
04.
    Case vbNo
05.
        'Nein
06.
    Case vbYes
07.
        'Ja
08.
    Case Else
09.
        'Zeit abgelaufen
10.
End Select
Und anstelle von
If VarType(arrLines) <> vbEmpty Then
kannst Du auch
If IsArray(arrLines) Then
schreiben

Gruß Dieter
Bitte warten ..
Mitglied: charmeur
07.08.2011 um 15:35 Uhr
Zitat von 76109:
Hallo charmeur!

Ist das ein VBS- oder VBA-Code?

Beispiel für Ja/Nein/Nothing:
01.
> Set WshShell = CreateObject("WScript.Shell")
02.
>     
03.
> Select Case WshShell.PopUp("Message", 3, "Titel", vbInformation Or vbYesNo)
04.
>     Case vbNo
05.
>         'Nein
06.
>     Case vbYes
07.
>         'Ja
08.
>     Case Else
09.
>         'Zeit abgelaufen
10.
> End Select
11.
> 
Und anstelle von
If VarType(arrLines) <> vbEmpty Then
kannst Du auch
If IsArray(arrLines) Then
schreiben

Gruß Dieter


Hallo Dieter
das sollte ein VBS code sein, aber so 100%ig ist der sicher nicht, da ich mich eigentlich nicht wirklich mit vbs auskenne
sind sicher auch vba komponenten drinne
Bitte warten ..
Mitglied: charmeur
07.08.2011 um 16:46 Uhr
Zitat von Centauri:
Hallo Charmeur,

Ich vermute, dass deine Zeilen nicht ganz leer sind. versuche mal mit Trim eventuelle Leerzeichen zu entfernen.

Für Meldefenster nehme ich immer Msgbox("Test","Titel",vbyesno)

Du kannst das Ergebnis gegen vbyes oder vbno prüfen.

Tschüss

Centauri


Hallo Centauri
also die linie in der TXT sind leer trotzdem kommt dann das msgbox und ist eben leer
Bitte warten ..
Mitglied: rubberman
07.08.2011 um 17:38 Uhr
Hallo charmeur.

In der Funktion "DownloadArray" wird ein Array erzeugt, in dem der Inhalt der Datei an Zeilenumbrüchen aufgesplittet wird.
Sollte in deiner Textdatei ein Zeilenumbruch vorhanden sein, dann ist die Datei schon nicht mehr leer und das Array wird angelegt. Das Array hat dann ein Element mit einer leeren Zeichenfolge. Die Abfrage
If VarType(arrLines) <> vbEmpty Then
kanns du dann genauso vergessen, wie die von Dieter vorgeschlagene Version
If IsArray(arrLines) Then
Diese Zeile prüft letztlich nur, ob die Funktion was geliefert hat.

Du kannst also nur zusätzlich prüfen, ob das erste Element eine leere Zeichenfolge enthält, á la
If arrLines(0) = "" Then
und mit dieser Bedingung den weiteren Ablauf abbrechen.

Grüße
rubberman
Bitte warten ..
Mitglied: charmeur
07.08.2011 um 18:28 Uhr
Zitat von rubberman:
Hallo charmeur.

In der Funktion "DownloadArray" wird ein Array erzeugt, in dem der Inhalt der Datei an Zeilenumbrüchen
aufgesplittet wird.
Sollte in deiner Textdatei ein Zeilenumbruch vorhanden sein, dann ist die Datei schon nicht mehr leer und das Array wird angelegt.
Das Array hat dann ein Element mit einer leeren Zeichenfolge. Die Abfrage
If VarType(arrLines) <> vbEmpty Then
kanns du dann genauso vergessen, wie die von Dieter vorgeschlagene Version
If IsArray(arrLines) Then
Diese Zeile prüft letztlich nur, ob die Funktion was geliefert hat.

Du kannst also nur zusätzlich prüfen, ob das erste Element eine leere Zeichenfolge enthält, á la
If arrLines(0) = "" Then
und mit dieser Bedingung den weiteren Ablauf abbrechen.

Grüße
rubberman

Hallo rubberman
also irgend wie funktioniert das nicht bei mir
in meiner txt datei ist in der zeile 5 nichts drinne dann müsste doch mit der option
01.
If arrLines(0) = "" Then
02.
end if
der befehl übersprungen werden oder?

also der hindergrund ist dieser das wenn in der txt datei die zeile 5 leer ist soll die msgbox gar nicht erst aufgemacht werden dies wollte ich eben mit der oberen option machen

01.
If arrLines(5) = "" Then
02.

03.
'zweitest Fenster
04.
iReturn = WshShell.Popup(arrLines(5), arrLines(8), arrLines(4), vbInformation)
05.
End If
Bitte warten ..
Mitglied: bastla
07.08.2011 um 18:38 Uhr
Hallo charmeur!

Die Zeile 5 steht in "arrLines(4)" ...

Grüße
bastla
Bitte warten ..
Mitglied: rubberman
07.08.2011 um 18:51 Uhr
Hallo bastla,

so ist es.
Ein Unsicherheitsfaktor bleibt aber noch (hatte ich ganz vergessen zu erwähnen). Ich habe mit ein paar Dateien getestet, die mir Google ausgespuckt hat, weil mir hier kein anderes Netzwerk zur Verfügung steht. Bei allen Tests kamen die Zeilenumbrüche nur als Line Feed. Aus dem Grund habe ich vbLf als Separator verwendet. Nun könnte aber unter Umständen ein Carriage Return im Array stehen.

@charmeur

Teste mal, ob sich mit ...
  DownloadArray = Split(WebReq.ResponseText, vbCrLf)
... in der Funktion noch irgendwas tut.

Grüße
rubberman
Bitte warten ..
Mitglied: charmeur
07.08.2011 um 18:52 Uhr
Zitat von bastla:
Hallo charmeur!

Die Zeile 5 steht in "arrLines(4)" ...

Grüße
bastla

ok überredet aber das ergebnis ist das gleiche
Bitte warten ..
Mitglied: bastla
07.08.2011 um 19:46 Uhr
Hallo charmeur!

Dann lade die Datei mit dem folgenden Script einmal herunter und speichere sie damit lokal:
01.
URL = "http://tspo...../media/hs/hh/1.txt"
02.
Set WebReq = CreateObject("WinHttp.WinHttpRequest.5.1")
03.
Set FSO = CreateObject("Scripting.FileSystemObject")
04.
WebReq.Open "get", URL, False
05.
WebReq.Send
06.
fso.CreateTextFile("D:\1.txt").Write WebReq.ResponseText
- dann kannst Du sie mit einem Hex-Editor genauer untersuchen (auch hinsichtlich der Zeilenschaltungen) ...

Grüße
bastla
Bitte warten ..
Mitglied: charmeur
08.08.2011 um 01:03 Uhr
ok hat funktioniert danke an alle
Bitte warten ..
Ähnliche Inhalte
CPU, RAM, Mainboards
CMOS Batterie leer
gelöst Frage von MarkowitschCPU, RAM, Mainboards8 Kommentare

Hallo liebe Techniker, be meinem Board ASUS P8P67 B3 Rev. 3.1 ist die Batterie leer. Passt da eine CR2032 ...

Outlook & Mail
Outlook Anmeldeseite leer
Frage von solarixOutlook & Mail1 Kommentar

Hallo, habe seit gestern das Problen, das beim Starten von outlook nur eine leeres Registerblatt mit dem Namen Anmelden ...

Windows 10
VPN Netzlaufwerk leer
Frage von EdaseinsWindows 106 Kommentare

Hallo Leute, Ich habe einen Kunden der Verbindet sich nach Leipzig per Windows VPN auf seinen Server. Dort nutzt ...

Batch & Shell
Schleifenausgabe ist leer
gelöst Frage von nico1999Batch & Shell3 Kommentare

Hi, da ich bisher nur einfache Android-Apps geschrieben habe, bin ich bei Batch noch relativ neu. Jedoch erscheint mir ...

Neue Wissensbeiträge
Router & Routing

Zyxel VMG 1312 B30A - Firmwareupdate nur im "privaten" Firefox Modus möglich

Tipp von the-buccaneer vor 1 StundeRouter & Routing

Hatte hier ein Zyxel 1312 das ums verrecken kein Firmwareupdate durchführen wollte. Datei ist auswählbar, dann kommt der Fortschrittskreisel ...

Windows 7

Windows 7 u. Server 2008 (R2) SHA-2-Update kommt am 12. März 2019

Information von kgborn vor 1 TagWindows 75 Kommentare

Kleine Info für die Admins der oben genannten Maschinen. Ab Juli 2019 werden Updates von Microsoft nur noch mit ...

Firewall
PfSense 2.5.0 benötigt doch kein AES-NI
Information von ChriBo vor 3 TagenFirewall2 Kommentare

Hallo, Wie sich einige hier erinnern werden hat Jim Thompson in diesem Aritkel beschrieben, daß ab Version 2.5.0 ein ...

Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 4 TagenInternet1 Kommentar

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter den Seitenbetreibern ...

Heiß diskutierte Inhalte
Hardware
IT-Werkzeugkoffer bis 50,- EUR
gelöst Frage von departure69Hardware44 Kommentare

Hallo. Ich bin als IT-Systembetreuer einer Gemeinde zusätzlich auch der IT-Systembetreuer einer Grund- und Hauptschule. Dort muß ich jedoch ...

Netzwerke
Verteilung von Programmdaten außerhalb des internen Netzwerkes
Frage von mertaufmbergNetzwerke27 Kommentare

Guten Morgen liebe Administratoren, ich versuche zurzeit eine möglichst sichere und einfache Lösung zu suchen, um ein Programmverzeichnis über ...

Netzwerkmanagement
Richtfunknetzwerk mit vielen Hops stabiler gestalten
Frage von turti83Netzwerkmanagement22 Kommentare

Hallo, in meinem Dorf habe ich vor ca. einem Jahr ein Backbone aufgebaut um die Nachbarschaft mit Internet zu ...

Hyper-V
Intel MSC Raid 5 Rebuild
Frage von DannysHyper-V19 Kommentare

Hallo Community, Ich habe einen Modul Server von Intel in Betrieb. Dort ist eine Festplatte aus dem Raid 5 ...