vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Source eines VB6-Projektes zeilenweise auslesen 
Autor: crosstravel
Datum: 29.10.19 10:09

Hallo zusammen,

ich suche ein Beispiel, wie alle FRM eines Projektes ausgelesen werden können. Konkret will ich z.B. in den verschiedenen FRm den String "Cull23o.ocx" suchen und durch "Cull25o.ocx" ersetzen.

Ich glaube, vor langer Zeit einmal ein solches Script hier gefunden zu haben - kann es aber leider nicht mehr finden. Vielleicht kann mir jemand helfen.

Danke
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: effeff
Datum: 29.10.19 12:22

Jeder Texteditor sollte dazu in der Lage sein, Deine Wünsche zu erfüllen. Sehr gut geeignet sollte Notepad++ sein. Öffne damit alle Deine FRM-Dateien und ersetze damit den gewünschten Text in diesen.

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: crosstravel
Datum: 29.10.19 14:26

Hallo,

danke für Deine Antwort. Soweit ich den Notepad++ kenne, muss ich hier ein Form nach dem anderen aufrufen. Das will ich eben vermeiden. Ich habe in einem Ordner ca. 20'0 Forms, in welchen Werte ersetzt werden sollen. Dabei gibt es auch FRorms, welche den gesuchten Wert nicht enthalten.

Ich habe mir vorgestellt, dass ein Script Form nach Form liest, den Vergleichswert sucht und diesen dann ersetzt.

Gruss
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: Zardoz
Datum: 29.10.19 15:22

Hallo Rainer,
probier' mal dies:
Controls: FileListBox
  Dim i&, Dat1$, Txt$, OldTxt$, NewTxt$
 
  File1.Path = "D:\Programme\Projektordner"
  File1.Pattern = "*.frm;*.bas"
  OldTxt = "AlterText"
  NewTxt = "NeuerText"
  For i = 0 To File1.ListCount - 1
    Dat1 = File1.Path & "\" & File1.List(i)
    Open Dat1 For Binary Access Read As #1
      Txt = Space$(LOF(1))
      Get #1, , Txt
    Close #1
    If InStr(1, Txt, OldTxt, vbTextCompare) > 0 Then
      Txt = Replace(Txt, OldTxt, NewTxt)
      Kill Dat1
      Open Dat1 For Binary Access Write As #1
        Put #1, , Txt
      Close #1
    End If
    DoEvents
  Next i

Gruss,

Zardoz

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: crosstravel
Datum: 29.10.19 17:38

Hi Zardoz,

danke für das Posting. Genau solch ein Script hatte ich gesucht. Ich werde es morgen testen und Feedback geben.

Nochmals vielen Dank und schönen Abend
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: crosstravel
Datum: 30.10.19 12:43

Hallo Zardoz,

ich bin dabei, das von Dir gepostete Beispiel zu testen. Als ersten Schritt versuche ich dabei
die FileListBox mit den diversen Forms zu füllen, um diese dann in einer Schleife abzuarbeiten.

Ich bekomme das Füllen der ListBox nicht hin. Die Forms liegen in dem Verzeichnis:

C:\Programme(x86)\Entwicklung\Frm\

Wie kann ich ich diese Forms nun diese Forms in die ListBox laden?

Danke
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: Zardoz
Datum: 30.10.19 14:09

Hallo Rainer,
also um den Programmcode zu testen must du die Filelistbox nicht
befüllen. Das passiert schon im Code. Du must nur bei File1.Path ="..."
den Pfad deines Ordners eintragen. Was hast du denn vor? Willst
du mehrere Projekte bearbeiten? Dir ist schon bekannt, das du in
der Entwicklungsumgebung mit der Funktion Suchen und Ersetzen (Strg H)
projektweit Texte ändern kannst.

Gruss,

Zardoz

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: crosstravel
Datum: 30.10.19 14:35

Hallo Zardoz,

ich hatte mich im letzten Posting leider nicht genau ausgedrückt. Das ersetzen funktioniert bestens.
Ich habe eine Form gemacht mit DriveBox, DirBox und FileListBox. Wenn ich dden entsprechenden Folder
so auswähle, sollte die FileListBox mit dem Inhalt des Folders angezeigt werden - das geschieht abre
nicht. Der alte Inhalt bleibt erhalten. Ich muss schauen, wie ich das hinbekomme.

Ich habe über 300 Forms in meinem Projekt. Für die Druckerein setze ich List&Label ein. Hier gibt es
jedes Jahr einen neuen Release. Dumm ist nur, dass die Componenten umbenannt werden. Von z.B. Cull23o.ocx in Cull25o.ocx usw. - So muss ich jedes Jahr die betroffenen Forms anpassen, was händisch ein grosser Aufwand ist und aussderdem fehleranfällig ist.

Gruss
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: Zardoz
Datum: 30.10.19 15:11

Hallo Rainer,
das sollte funktionieren:
Private Sub Dir1_Change()
  File1.Path = Dir1.Path
End Sub
 
Private Sub Drive1_Change()
  Dir1.Path = Drive1.Drive
End Sub
Bei meinem Code das File1.Path = "D:\Programme\Projektordner" weglassen.

Gruss,

Zardoz

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: crosstravel
Datum: 30.10.19 16:35

Hi Zardoz,

das funktioniert bestens. Vielen Dank für Deine Unterstützung.

Herzlichen Gruss
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: W. Wolf
Datum: 05.11.19 13:57

Hallo,

solltest Du solche Sachen öfter machen müssen, gibt es dafür ein mächtiges Tool:
https://www.gillmeister-software.de/produkte/batch-text-replacer/start.aspx

Ich konnte bisher damit alle meine Ersetzungs-Jobs erledigen und ich kann sagen, da waren ein paar sehr komplexe Aufgaben dabei.

Schönen Gruß
W. Wolf
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: crosstravel
Datum: 05.11.19 14:33

Hallo,

besten Dank für die Information. Ich werde mir das Tool anschauen.

Einen schönen Tag
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: emaNoN
Datum: 15.11.19 15:33

Notepad++ kann das in einem Rutsch erledigen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: crosstravel
Datum: 18.11.19 12:50

Hallo,

kann es auch einen ganzen Ordner (mit ca. 380 frm) in einem Rutsch verarbeiten?

Gruss
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: crosstravel
Datum: 18.11.19 13:00

Hallo,

ich habe das eben testen können. Auf den ersten Blick funktioniert es mit Notepad++. Vielen Dank für den guten Hinweis.

Gruss
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: Wobi
Datum: 19.11.19 03:10

Hallo Rainer,
warum brauchst du denn da überhaupt etwas externes?
Die Suchfunktion innerhalb der VB6 IDE bietet doch auch an innerhalb des aktuellen Formula, Modul, Preojekt zu suchen bzw. gleich zu ersetzten.

Das über externe Programme zu machen ist mir viel zu unsicher, die arbeiten zwar gut und gründlich, aber die Gefahr besteht, dass etwas ausgetauscht wird was gar nicht beabsichtigt ist.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: effeff
Datum: 23.11.19 14:47

//Die Suchfunktion innerhalb der VB6 IDE bietet doch auch an innerhalb des aktuellen Formula, Modul, Preojekt zu suchen bzw. gleich zu ersetzten.//

Ging es nicht darum, zig Dateien in zig Verzeichnissen nach bestimmtem, zu ersetzenden Text zu durchsuchen? Das kann die VB6-IDE nicht.

//Das über externe Programme zu machen ist mir viel zu unsicher, die arbeiten zwar gut und gründlich, aber die Gefahr besteht, dass etwas ausgetauscht wird was gar nicht beabsichtigt ist.//

Bei einem einfachen Ersetzen in Textdateien?

Notepad++ war auch von mir als Lösung genannt und funktioniert hervorragend. Unter Windows benutze ich es hauptsächlich.

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Source eines VB6-Projektes zeilenweise auslesen 
Autor: crosstravel
Datum: 24.11.19 15:38

Hallo effeff,

richtig, Du hattest auch Notepadd++ als Lösung genannt. Zum Damilen Zeitpunkt hatte ich aber leider dessen Einsatzmöglichkeiten nicht erkannt. Nach umfangreichen Tests mit der Konvertierung verschiedener Texte in mehreren 100 Forms eines Ordners kann ich jedoch bestätigen, dass dieses Tool geeignet ist, um "auf einen Rutsch" die gewünschten Konvertierungen in zig Forms und Modulen durchzuführen.

Vielen Dank nochmals
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel