| |
 | TRICAD MS Stahlbau / Steel Construction 3D , eine App
|
Autor
|
Thema: Zeichenkette suchen (674 mal gelesen)
|
Chrissy Mitglied

 Beiträge: 11 Registriert: 22.07.2004
|
erstellt am: 29. Okt. 2004 11:45 <-- editieren / zitieren --> Unities abgeben:         
Hi Leute, ich habe ein kleines Problem und zwar lese ich mir aus einer Datenbank Strings aus. Nun möchte ich eine bestehende Datei öffen und in dieser Datei nach den Strings suchen. Dsa Ganze mache ich mit Basic und einem Makro. Ich habe die Open Funktion versucht, aber ich weiß nicht wie ich in der Datei nach etwas suchen kann. Ist das überhaupt möglich? Danke für jede Antwort Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wsacad Mitglied MicroStation- Dozent/Supporter

 Beiträge: 51 Registriert: 16.01.2003
|
erstellt am: 02. Nov. 2004 09:53 <-- editieren / zitieren --> Unities abgeben:          Nur für Chrissy
Hallo, Chrissy, hier kann Dir evtl. der Macro- Recorder weiterhelfen. Den solltest Du einmal anschmeißen und dann über 'Bearbeiten --> Auswählen über Attribute' eine Elementauswahl aus den gesuchten Texten bilden, wobei Du neben den üblichen Suchkriterien wie Elementtyp (Text=17), Farbe, Ebene usw. auch die textspezifischen Einstellungen vornimmst (Einstellungen --> Text). Da kannst Du den Suchstring eingeben und dann für die weitere Bearbeitung die Elemente aus der Auswahl nehmen (MbeElementSet.GetFirst bzw. MbeElementSet.GetNext). Um das Macro dann auch noch für den Fall tauglich zu machen, daß der Suchstring wie bei Dir aus der Datenbank kommt, ersetzt Du im Sourcecode den bei der Aufzeichnung benutzten String durch den Namen der Variablen, in der der aus der DB entnommene String steht. Die Zeile MbeSetAppVariable "SELECTBY", "selector.Globals.textstring", "hier steht der String" wird dann zu MbeSetAppVariable "SELECTBY", "selector.Globals.textstring", VarName Auf diesem Wege die Texte mit der gesuchten Zeichenfolge aus der Zeichnung herauszufiltern, ist sicher einfacher als eine aufwendige eigene Programmierung einer Suchprozedur. Hoffentlich hilft es Dir. Gruß Wolfgang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chrissy Mitglied

 Beiträge: 11 Registriert: 22.07.2004
|
erstellt am: 02. Nov. 2004 10:08 <-- editieren / zitieren --> Unities abgeben:         
Danke Wolfgang für deine Antwort.Der Makro Reader kommt leider nicht so ganz in Frage, da es automatisch ablaufen soll. Ich hab zwei Text Dateien aus beiden brauche ich spezielle Infos die dann miteinander verglichen werden sollen. Der Anwender soll nix weiter machen als das Makro zu starten... Ich habe es jetzt folgendermasen gelöst, klappt soweit ganz gut und ich bekomme meine erforderlichen Text Spalten ausgelsen: Dim tmp as String Dim FileNR As Integer FileNr=FreeFile 'Datei öffnen Open "Pfad der Datei" For Input As #FileNR Do While Not EOF(FileNR) Input #FileNr, tmp i=i+1 Loop Close #FileNr
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stark Mitglied Dipl.Informatiker
  
 Beiträge: 680 Registriert: 27.06.2001 MicroStation V8i auf Windows 7 + 8.1
|
erstellt am: 02. Nov. 2004 11:21 <-- editieren / zitieren --> Unities abgeben:          Nur für Chrissy
Hi Chrissy wäre nicht schlecht, wenn Du das nächste mal gleich sagst, das es nicht um eine DGN Datei geht. Ansonsten gibt es (außer Du hast eine spezielle Programmierschnittstelle wie z.B. bei XML) für die Suche immer nur den Weg, die Datei zu durchlaufen. Aber bitte versuche nie, Deinen Algorythmnus auf eine DGN Datei anzuwenden. Solange Du nur liest wirst Du wahrscheinlich das passende nur nicht finden. aber ein einziger Schreibvorgang in der Art und Du kannst Deine Dten vergessen. HTH Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Chrissy Mitglied

 Beiträge: 11 Registriert: 22.07.2004
|
erstellt am: 02. Nov. 2004 16:43 <-- editieren / zitieren --> Unities abgeben:         
|