Alphaphonix Geschrieben 16. April 2008 Geschrieben 16. April 2008 Hallo zusammen, ich mach hier schon seit ein paar Tagen an nem kleinen Skript (VBS) rum und komme einfach nicht weiter. Ich habe eine csv Datei (namen.csv). Ich möchte die ausgelesenen Daten mit einer zweiten csv vergleichen (main.csv). Alle Werte in der namen.csv sollen aus der main.csv gelöscht werden. Hat jemand einer Idee? Ich habe schon versucht die Microsoft Reference zu verwenden...Leider ohne Erfolg, da ich ein Array mit den Werten aus namen.csv habe und nicht einen fixen String. Vielen Dank und Gruß P.S. Microsoft Skript Code Const FOR_READING = 1 Const FOR_WRITING = 2 strFileName = "C:\scripts\test.txt" strCheckForString = UCase("july") Set objFS = CreateObject("Scripting.FileSystemObject") Set objTS = objFS.OpenTextFile(strFileName, FOR_READING) strContents = objTS.ReadAll objTS.Close arrLines = Split(strContents, vbNewLine) Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING) For Each strLine In arrLines If Not(Left(UCase(LTrim(strLine)),Len(strCheckForString)) = strCheckForString) Then objTS.WriteLine strLine End If Next Zitieren
Amstelchen Geschrieben 16. April 2008 Geschrieben 16. April 2008 entscheide dich, bevor du eine zeile code umsetzt, *wie* du das problem angehen willst. formuliere den algorithmus in pseudocode: öffne main.csv öffne namen.csv für jede zeile in main.csv schau ob zeile in namen.csv wenn zeile ident schreibe zeile neu schliesse namen.csv schliesse main.csv bedenke auch, dass du in deinem codeauszug ein und dieselbe datei einmal FOR_READING und einmal FOR_WRITING öffnest. ich bin mir nicht sicher, ob das funktionieren kann. s'Amstel Zitieren
MrMimi Geschrieben 17. April 2008 Geschrieben 17. April 2008 bedenke auch, dass du in deinem codeauszug ein und dieselbe datei einmal FOR_READING und einmal FOR_WRITING öffnest. ich bin mir nicht sicher, ob das funktionieren kann. s'Amstel er will doch nciht die zwei mald ie selbe datei öffnen oder hab ich da was falssch verstanden einmal aus Nr 1 auslesen dann mit Nr 2 vergleichen und wenn dann Nr 1 = Nr 2 dann in 2 löschen oder ??? du hast doch bestimmt ne Trennung drin wie ein " ; " oder " / " oder was in der art, woran du erkennen kansnt wo anfang/ende ist warum lieest du nciht eifnach string weise aus verlgeichst es schreibst es in ne neue datei (nur zeitweilig) und wenn du mit der ganzen datei fertig bsit, schreibste die komplett in einem abwasch zurück dann brauchste keine Arrays. Sehe auch nciht das Problem da was zu entfernen/ersetzten und kann man nciht sogar in VB in nem Array ne bestimmte stelle ansprehcne durch z.B. Array = " hier ersetzten" oder eifnach Array[10] = " hier ersetzten" oder so ?^^ also programmiere net so viel mit VB immer nur mit C ...^^ aber hoffe konnte dir ein wenig helfen und leige jetzt nciht total daneben xD Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.