WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 18.07.2004, 10:26   #1
Kasparov
Veteran
 
Registriert seit: 07.07.2002
Ort: Wien
Alter: 52
Beiträge: 251


Frage VBA: Variablen - bitte um Hilfe

Liebe Gemeinde,

hab diese Frage schon bei "Software" gepostet, wo ich nicht wirklich geholfen wurde (hab erst später gesehen dass es hier auch einen Punkt mit "Programmierung" gibt sorry fürs crossposting)

Es geht um folgendes Problemchen, das für mich als Nicht-Programmierer ein echtes Problem ist :

Ich würde gerne einen sehr langen Text (in Word 2002) mit englischer Schachnotation in deutsche umwandeln, z.B. "21.Qh4 Ne3" in "21.Dh4 Se3".

Ein einfaches Makro mit suche - ersetze geht nicht, da im Text auch viele Kommentare vorkommen, die sonst auch ersetzt werden würden.

Am besten wäre das Schema:

ersetze alle N<a bis h><1 bis 8> durch S<a bis h><1 bis 8> (Springer)
ersetze alle B<a bis h><1 bis 8> durch L<a bis h><1 bis 8> (Läufer)
ersetze alle R<a bis h><1 bis 8> durch T<a bis h><1 bis 8> (Turm)
ersetze alle Q<a bis h><1 bis 8> durch D<a bis h><1 bis 8> (Dame)

Vielleicht ginge das so?:

Für alle a, b, c, d, e, f, g, h setze die Variable X
Für alle 1, 2, 3, 4, 5, 6, 7, 8 setze die Variable Y

Dann suche nach Kombination NXY und ersetze mit SXY (Springer)
Dann suche nach Kombination BXY und ersetze mit LXY (Läufer)
Dann suche nach Kombination RXY und ersetze mit TXY (Turm)
Dann suche nach Kombination QXY und ersetze mit DXY (Dame)

Wie gesagt habe ich keine Ahnung vom Programmieren - bitte eine Antwort für Dummies

DANKE
____________________________________
***************************************
Schnell muß er nicht sein, aber stabil!
Kasparov ist offline   Mit Zitat antworten
Alt 18.07.2004, 11:07   #2
xlazarus
Jr. Member
 
Registriert seit: 13.07.2004
Alter: 47
Beiträge: 71


Standard

Also ich bin mir nicht sicher, was du konkret machen willst, aber wenns nur um das ersetzen gewisser Zeichen mit anderen geht ....

Erstelle dir 2 String-Arrays
Dim arr1(20) as String
Dim arr2(20) as String
(für 20 Einträge ... 0 - 19 = Index)

... dann schreibst du einfach in das eine die deutsche Notation:
arr1(0) = "was auch immer"
und ins andere die Übersetzung:
arr2(0) = "what ever"
, aber immer an der gleichen Position.
das nächste dann
arr1(1) = ....
arr2(1) = ... usw.

Dann einfach im Programm die Texte durchgehen und immer vergleichen, und wenns passt dann ersetzen wenn gefunden an der Stelle arr1(x) mit dem String im arr2(x) ... und das wars.

Das ganze halt in eine sinnvolle for oder while Schleife einbauen.

ok!

Falls du es noch genauer haben willst, dann sag's einfach.


XL
____________________________________
give all that you can,
and you\'ll get more than
you need!
\"XL\"
xlazarus ist offline   Mit Zitat antworten
Alt 18.07.2004, 11:59   #3
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Bitte nur 1 Thread.
http://www.wcm.at/forum/showthread.php?threadid=140577
flinx ist offline   Mit Zitat antworten
Alt 18.07.2004, 12:01   #4
Noerf
Master
 
Registriert seit: 23.11.2000
Alter: 43
Beiträge: 529


Noerf eine Nachricht über ICQ schicken
Standard

Ich hab von VBA zwar kein Ahnung, aber es wird da doch bestimmt irgendeine Möglichkeit geben Reguläre Ausdrücke zu Verwenden, das wäre ,glaube ich, die einfachste Lösung.
____________________________________
The knack of flying is learning how to throw yourself at the ground and miss.

Es heißt Fluglotse, ein z kommt in diesem Wort nicht vor.
Noerf ist offline   Mit Zitat antworten
Alt 19.07.2004, 14:30   #5
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Das könnte heikel werden. Ausgehend von deinem Beispiel ("21.Qh4 Ne3")würde ich so vorgehen:

1. Nach einem Punkt suchen

2. Prüfen ob der Punkt in einem zu bearbeitenden Text-Teil steht
Vom Punkt nach links nur Ziffer bis zum Hochkomma
Vom Punkt nach rechts Groß, Klein, Ziffer, Blank, Groß, Klein,
Ziffer, Hochkomma.

3. Falls nötig Buchstaben ersetzen.

Das Problem ist die Regel, die den String identifiziert. Wenn die einen Denkfehler enthält ist die Datei hin.
Also nur auf eine Kopie arbeiten, und die Regel mit Probieren entwickeln und verbessern.

Durchschaubarer wird es, wenn du den Text Zeilenweise abarbeitest.

mfg

WB
wbendl ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:19 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag