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

Suche und Ersetzen bzw. Anzeigen VB6

Frage Entwicklung VB for Applications

Mitglied: H5N1

H5N1 (Level 1) - Jetzt verbinden

15.11.2010, aktualisiert 16.11.2010, 3552 Aufrufe, 6 Kommentare

Hallo ich habe folgendes Problem:
ich habe eine Textdatei mit etwa folgendem Inhalt
NETWORK
TITLE =Taktgeber

SET ;
U "M200.0"; Takt Periode 0,1 sec
FP "M202.0";
Flankenmerker
= "M201.0"; Flanke 0,1 sec

U "M200.3";
Takt Periode 0,5 sec
FP "M202.1"; Flankenmerker
= "M201.1";
Flanke 0,5 sec

U "M200.5"; Takt Periode 1 sec
FP "M202.2";
Flankenmerker
= "M201.2"; Flanke 1 sec
NETWORK
TITLE =Takt 6 sec

SET ;
U "M201.2";
Flanke 1 sec
SPBN fl6t;

L "DB_Kommunikation OP".Taktgeber.Wert_6_sec; //Sekunden zählen

Diese Textdatei möchte ich Zeilenweise in VB einlesen.
(soweit kein Problem)

Jetzt möcht ich aber wenn zwei Slash in einer Zeile hintereinander sind den Text zwischen den Doppel-Slash und dem am Zeilenende befindlichen CrLf auf einem Label oder in einer Textbox ausgeben und nach einem Click zur nächsten Zeile mit dem Doppel-Slash gelangen und wieder anzeigen.

Geht das - nach ASCII-Zeichen suchen?
Eventuell kleines Bespiel wäre echt super.
Vielen Dank schon mal im voraus.

Gruß Frank

## Ich mache keine rechtscheibfehler, ich bin euch nur paar reformen voraus...
Mitglied: Biber
15.11.2010 um 19:40 Uhr
Moin H5N1,

sorry, bei der eigentlichen Frage kann ich nicht helfen - ich kenn mich sowohl mit VB wie auch mit 6 nur rudimentär aus.

Aber damit die geneigten Fachschroter erahnen können, wo du denn als Einziger an diesem Montag Doppel-Slashes meinst zu sehen,
deshalb mach ich die mal sichtbar mit ein paar Codetag-Restposten. Die liegen eh wie Blei in den Regalen hier

Dein Text sieht wie bereits gepostet so aus :

NETWORK
TITLE =Taktgeber

SET ;
U "M200.0"; Takt Periode 0,1 sec
FP "M202.0";
Flankenmerker
= "M201.0"; Flanke 0,1 sec

U "M200.3";
Takt Periode 0,5 sec
FP "M202.1"; Flankenmerker
= "M201.1";
Flanke 0,5 sec

U "M200.5"; Takt Periode 1 sec
FP "M202.2";
Flankenmerker
= "M201.2"; Flanke 1 sec
NETWORK
TITLE =Takt 6 sec

SET ;
U "M201.2";
Flanke 1 sec
SPBN fl6t;

L "DB_Kommunikation OP".Taktgeber.Wert_6_sec; //Sekunden zählen


..sieht mit Code-Formatierung ohne Zeilennummern ( < code type=plain > ) so aus:
NETWORK 
TITLE =Taktgeber 
 
      SET   ;  
      U     "M200.0"; //Takt Periode 0,1 sec 
      FP    "M202.0"; //Flankenmerker 
      =     "M201.0"; //Flanke 0,1 sec 
 
      U     "M200.3"; //Takt Periode 0,5 sec 
      FP    "M202.1"; //Flankenmerker 
      =     "M201.1"; //Flanke 0,5 sec 
 
      U     "M200.5"; //Takt Periode 1 sec 
      FP    "M202.2"; //Flankenmerker 
      =     "M201.2"; //Flanke 1 sec    
NETWORK 
TITLE =Takt 6 sec 
 
      SET   ;  
      U     "M201.2"; //Flanke 1 sec 
      SPBN  fl6t;  
 
      L     "DB_Kommunikation OP".Taktgeber.Wert_6_sec; //Sekunden zählen
...und mit Codeformatierung mit Zeilennummern ( < code > )so aus:
01.
NETWORK 
02.
TITLE =Taktgeber 
03.
 
04.
      SET   ;  
05.
      U     "M200.0"; //Takt Periode 0,1 sec 
06.
      FP    "M202.0"; //Flankenmerker 
07.
      =     "M201.0"; //Flanke 0,1 sec 
08.
 
09.
      U     "M200.3"; //Takt Periode 0,5 sec 
10.
      FP    "M202.1"; //Flankenmerker 
11.
      =     "M201.1"; //Flanke 0,5 sec 
12.
 
13.
      U     "M200.5"; //Takt Periode 1 sec 
14.
      FP    "M202.2"; //Flankenmerker 
15.
      =     "M201.2"; //Flanke 1 sec    
16.
NETWORK 
17.
TITLE =Takt 6 sec 
18.
 
19.
      SET   ;  
20.
      U     "M201.2"; //Flanke 1 sec 
21.
      SPBN  fl6t;  
22.
 
23.
      L     "DB_Kommunikation OP".Taktgeber.Wert_6_sec; //Sekunden zählen
Vielleicht kann die ja einer der VB-Bruzzler jetzt besser helfen.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
15.11.2010 um 21:20 Uhr
Hallo H5N1!

Der folgende VBS-Schnipsel sollte sich einigermaßen schmerzfrei nach VB6 (derartiges habe ich dann doch nicht mehr bei der Hand ) portieren lassen (und macht hoffentlich das, was Du erreichen wolltest ):
01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
Set File = fso.OpenTextFile("D:\Textdatei.txt") 
03.
 
04.
Do Until File.AtEndOfStream 
05.
    Line = File.ReadLine 
06.
    Pos = InStrRev(Line, "//") 
07.
    If Pos > 0 Then 
08.
        InterestingPart = Mid(Line, Pos + 2) 
09.
        WScript.Echo InterestingPart 
10.
    End If 
11.
Loop 
12.
File.Close
Zum Testen an der Kommandozeile mit
cscript //nologo Schnipsel.vbs
starten ...

Grüße
bastla

PS.: @Biber: Thanks - auf Basis des formatierten Beispiels ließ sich dann doch etwas mit dem Ganzen anfangen ...
Bitte warten ..
Mitglied: Nadm4you
15.11.2010 um 21:51 Uhr
Zitat von bastla:
Hallo H5N1!

Der folgende VBS-Schnipsel sollte sich einigermaßen schmerzfrei nach VB6 (derartiges habe ich dann doch nicht mehr bei der
Hand ) portieren lassen (und macht hoffentlich das, was Du erreichen wolltest ):
01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
> Set File = fso.OpenTextFile("D:\Textdatei.txt") 
03.
>  
04.
> Do Until File.AtEndOfStream 
05.
>     Line = File.ReadLine 
06.
>     Pos = InStrRev(Line, "//") 
07.
>     If Pos > 0 Then 
08.
>         InterestingPart = Mid(Line, Pos + 2) 
09.
>         WScript.Echo InterestingPart 
10.
>     End If 
11.
> Loop 
12.
> File.Close 
13.
> 
Zum Testen an der Kommandozeile mit
cscript //nologo Schnipsel.vbs 
> 
starten ...

Grüße
bastla

PS.: @Biber: Thanks - auf Basis des formatierten Beispiels ließ sich dann doch etwas mit dem Ganzen anfangen ...


Nicht immer nur fertige Sachen suchen, sondern auch selbst mal Hirnschmalz einsetzen, deshalb mein VB 6 Code zur Anregung

Public break As Boolean
Private Sub Command1_Click()
break = True
End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Form_Load()

Dim data As String 'Auffangvariable für den einzulesenden String definieren
Dim v() As String 'Splitstring dimensionieren ist ein Array ohne Dimensions Dimensions werden durch die Split-Fuunktion zugewiesen
Form1.Show
Open "c:\temp\test.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, data
v = Split(data, "//")
If UBound(v) > 0 Then
Text1.Text = v(1)
Do
DoEvents
Loop Until break = True
Debug.Print Text1.Text
break = False
End If
Loop
End
End Sub

Gruß
Nadm4you
Bitte warten ..
Mitglied: bastla
15.11.2010 um 22:04 Uhr
Hallo Nadm4you!

"Split()" ist auch schön ...

... allerdings wäre
Text1.Text = v(UBound(v))
genauer als
Text1.Text = v(1)
BTW:
Nicht immer nur fertige Sachen suchen, sondern auch selbst mal Hirnschmalz einsetzen
Wer ist denn der Adressat dieser Aufforderung?

Grüße
bastla

P.S.: Damit Du nicht suchen musst : Code-Formatierung ...
Bitte warten ..
Mitglied: H5N1
16.11.2010 um 13:07 Uhr
Vielen Dank für die schnelle Hilfe .
Das ich nur nach dem Doppel-Slash suchen muss und dann weitermachen kann hab ich gar nicht gecheckt.
Naja, manchmal sieht man den Wald vor lauter Bäume nicht.

Nochmal Vielen Dank für die Hilfe - Gruß Frank
Bitte warten ..
Mitglied: Biber
16.11.2010 um 16:58 Uhr
[OT, aber völlig]

Zitat von H5N1:
## Ich mache keine rechtscheibfehler, ...
Jetzt endlich hab ich Pointe verstanden... sozusagen scheibchenweise ....

Menno, fast eine vollen Tag später...*grmpfff*

[/OT, aber völlig]
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Suche Projektpartner
Suche Inspiration für einen Webeditor (2)

Frage von Yanmai zum Thema Suche Projektpartner ...

Windows Update
Windows Update-Suche nach Win7 Neuinstallation wieder schneller (4)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

Server-Hardware
gelöst Suche Hardware für Terminalserver für Datev Geschwindigkeitsrakete (8)

Frage von Mortifer zum Thema Server-Hardware ...

Windows Server
Powershell - suche nach gelöschter Datei aus LOG (3)

Frage von krischeu zum Thema Windows Server ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (23)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (10)

Frage von Akcent zum Thema Hyper-V ...

Netzwerke
Abisolierwerkzeug (9)

Frage von SarekHL zum Thema Netzwerke ...