Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Forlaufende (Rechnungs)Nummern auf Vollständigkeit prüfen....

Frage Entwicklung

Mitglied: marcushb

marcushb (Level 1) - Jetzt verbinden

04.01.2011 um 11:17 Uhr, 3134 Aufrufe, 4 Kommentare

Hallo,

erstmal wünsche ich Euch ein frohes neues Jahr !

Ich bin auf der Suche nach einer Lösung zu folgendem Problem. Ich lese den Inhalt eines Verzeichnisses aus und schreibe den Inhalt in ein Textfile.

inhalt.txt

DE1_2011_0000_1002267.pdf
DE1_2011_0000_1002268.pdf
DE1_2011_0000_1002269.pdf
DE1_2011_0000_1002270.pdf
DE1_2011_0000_1002271.pdf
DE1_2011_0000_1002272.pdf
DE1_2011_0000_1002274.pdf
DE1_2011_0000_1002275.pdf

Nun müßte das Script den Inhalt der TXT lesen und prüfen ob die Rechnungen forlaufend sind, in dem o.g. Fall fehlt die DE1_2011_0000_1002273.pdf, das sollte das Script zeigen.

Hat jemand ein Idee ?

Danke !

Gruß
Marcus
Mitglied: maretz
04.01.2011 um 11:30 Uhr
in welcher sprache? EINE Option wäre z.B.:

a) Aufbau deiner Nummer: $DeineAufgebauteNummer = "DE1_2011_0000_"+$i+".pdf" -> wobei $i z.B. bei 1000001 anfängt und hochzählt

b) jetzt wanderst du einfach durch:

while (!EOF) if $TextDerZeile==$DeineAufgebauteNummer?
ja -> alles ok!
nein -> hier fehlt ne Nummer

Danach noch $i +1 rechnen und $DeineAufgebauteNummer = "DE1_2011_0000_"+$i+".pdf" -> schon hast du den nächsten Dateinamen....

Die Frage is eben welche Sprache du nehmen möchtest...
Bitte warten ..
Mitglied: marcushb
04.01.2011 um 11:45 Uhr
Hi,

danke für den ersten Ansatz, ich möchte das gerne als VB Script lösen !

Danke !

Gruß
Bitte warten ..
Mitglied: bastla
04.01.2011 um 12:14 Uhr
Hallo marcushb!

Dann (unter der Annahme, dass die Liste in "inhalt.txt" sortiert ist und Einträge entsprechend Deiner Vorlage enthält) etwa so (oberflächlich getestet):
01.
Inh = "D:\Inhalt.txt" 
02.
Fehl = "D:\Fehlende.txt" 
03.
 
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
Inhalt = Split(fso.OpenTextFile(Inh).ReadAll, vbCrLf) 
06.
Erste = Inhalt(0) 'erste Zeile --> niedrigste Nummer; Vorlage für weitere Zeilen 
07.
ErsteNr = Split(Split(Erste, "_")(3), ".")(0) 'Nummer isolieren 
08.
LfdNr = ErsteNr 
09.
 
10.
For i = 1 To UBound(Inhalt) 
11.
    If Trim(Inhalt(i)) <> "" Then 'Prüfung von Leerzeilen vermeiden 
12.
        LfdNr = LfdNr + 1 'nächste Nummer 
13.
        Naechste = Replace(Erste, ErsteNr, LfdNr) 'vollständige nächste Zeile 
14.
        Do While StrComp(Inhalt(i), Naechste, vbTextCompare) <> 0 'Groß-/Kleinschreibung ignorieren 
15.
            F = F & vbCrLf & Naechste 'Liste der Fehlenden um eine Zeile erweitern 
16.
            LfdNr = LfdNr + 1 'Nr hochzählen, bis nächste Vorhande gefunden wird 
17.
            Naechste = Replace(Erste, ErsteNr, LfdNr) 
18.
        Loop 
19.
    End If 
20.
Next 
21.
fso.CreateTextFile(Fehl).Write Mid(F, 3) 'Liste ohne führende Zeilenschaltung in Datei schreiben
Grüße
bastla
Bitte warten ..
Mitglied: marcushb
04.01.2011 um 12:34 Uhr
Hey Bastia,

wunderbar ;) vielen Dank für die schnelle Lösung !

Gruß
Marcus
Bitte warten ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Hosting & Housing
Wie Website auf Seriösität prüfen? (4)

Frage von imebro zum Thema Hosting & Housing ...

Batch & Shell
gelöst Powershell - Datei prüfen ob vorhanden, dann löschen (9)

Frage von Bugger zum Thema Batch & Shell ...

Batch & Shell
gelöst In Batch auf Erstelldatum einer Datei prüfen (5)

Frage von AS-N00 zum Thema Batch & Shell ...

VB for Applications
gelöst Per Vbscript bestimmte Zeile ungeachtet der Nummerierung prüfen (7)

Frage von aletri zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

Exchange Server
Bestehende eMails autoamatisch weiterleiten (21)

Frage von metal-shot zum Thema Exchange Server ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...