ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
454
454
EMPFEHLEN
-
31.10.02 19:58 #1
- Registriert seit
- Aug 2002
- Beiträge
- 419
Ok ich sollte heute in der Schule ein Programm schreiben was ein Monogram erstellt.
Monogram = Vorname + Mittelname + Nachname
als VMN
Also die Initialien, das hat auch geklappt allerdings nur aus Zufall
koennt ihr mir bitte den Code erlaeutern?
'Monogram Excerise 5
'10/31/02
'Stefan Muderack
Option Explicit
Private Sub cmddone_Click()
Unload Me
End Sub
Private Sub cmdshow_Click()
Dim strname As String
Dim strinitials As String
Dim intposition As Integer
strname = txtname
strname = StrConv(strname, vbProperCase)
strinitials = Left(strname, 1)
intposition = InStr(1, strname, " ") + 1
strinitials = strinitials & Mid(strname, intposition, 1)
intposition = InStr(9, strname, " ") + 1
strinitials = strinitials & Mid(strname, intposition, 1)
lblanswer = strinitials
End Sub
-
31.10.02 21:31 #2
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
beim klicken auf die schaltfläche namens "cmddone" wird das aktuelle formular (immer über Me anzusprechen) entladen.Code :1 2 3
Private Sub cmddone_Click() Unload Me End Sub
variablendefinitionen. dazu muss man nicht unbedingt was erzählen.Code :1 2 3
Dim strname As String Dim strinitials As String Dim intposition As Integer

zuweisung vom inhalt einer textbox in eine stringvariable und kopieren des ersten zeichens von links in die variable strinitials.Code :1 2 3
strname = txtname strname = StrConv(strname, vbProperCase) strinitials = Left(strname, 1)
erstes leerzeichen in dem namen suchen, und dessen position merken. dann das erste zeichen nach dem leerzeichen kopieren und an die variable strinitials anhängen. und dann machst du das ganze nochmal für den nachnamen.Code :1 2 3 4 5
intposition = InStr(1, strname, " ") + 1 strinitials = strinitials & Mid(strname, intposition, 1) intposition = InStr(9, strname, " ") + 1 strinitials = strinitials & Mid(strname, intposition, 1) lblanswer = strinitials
wenn sonst noch fragen dazu bestehen, kannst du dich ja nochmal melden."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
01.11.02 03:56 #3
- Registriert seit
- Aug 2002
- Beiträge
- 419
warum klappt das aber da mit den intposition beim Nachnamen nur mit 9?
Das verstehe ich nicht, warum es z.b. nicht mit 8 klappt.
Kannste mir das auch noch sagen?
mfg
Muffin
p.s. Danke erstmal fuer die schnelle Hilfe
-
01.11.02 11:40 #4
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
die instr-funktion sucht nach dem ersten vorkommen eines bestimmten zeichens, dass an die funktion übergeben wird. die übergebenen informationen sind dabei:
- start: ab dieser stelle im suchstring wird gesucht.
- string1: der string, in dem gesucht werden soll.
- string2: der string, der gesucht werden soll.
wenn du anstelle der 9 also eine 8 als start angibst, wird ab dem achten zeichen im string gesucht."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
04.11.02 19:06 #5
- Registriert seit
- Aug 2002
- Beiträge
- 419
Original geschrieben von asphyxia
die instr-funktion sucht nach dem ersten vorkommen eines bestimmten zeichens, dass an die funktion übergeben wird. die übergebenen informationen sind dabei:
- start: ab dieser stelle im suchstring wird gesucht.
- string1: der string, in dem gesucht werden soll.
- string2: der string, der gesucht werden soll.
wenn du anstelle der 9 also eine 8 als start angibst, wird ab dem achten zeichen im string gesucht.
Danke
und wie koennte ich es machen das nach dem Mittelnamen das Leerzeichen gemerkt wird und ich da dann nicht auf den Zufall angewiesien bin?
Also das er mir zu 100% das Initial vom Nachnamen richtig anzeigt.
mfg
Muffin
-
04.11.02 19:16 #6
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
ich an deiner stelle würde das sowieso nicht instr, sondern mit split machen:
Code :1 2 3 4 5 6 7
Dim Name As String Dim Initialen() As String Name = "Vorname M. Nachname" Initialen = Split(Name, " ") MsgBox Left(Initialen(0), 1) 'erster Buchstabe vom Vorname MsgBox Left(Initialen(1), 1) 'erster Buchstabe vom Mittelinitial MsgBox Left(Initialen(2), 1) 'erster Buchstabe vom Nachnamen
das funktioniert so ähnlich, wie die funktion explode aus php (falls dir das irgendwas sagt). damit wird dein string an den leerzeichen aufgeteilt und jeder teil in ein array geschrieben. mit der left-funktion holst du dir dann das erste zeichen aus dem jeweiligen teil."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
Ähnliche Themen
-
Mit GlueGen automatisch JNI Code generieren um C Code aufzurufen
Von Thomas Darimont im Forum JavaAntworten: 0Letzter Beitrag: 13.01.07, 20:42 -
Tool das automatisch den Java Code an die Code Conventions anpasst
Von The-God im Forum JavaAntworten: 1Letzter Beitrag: 30.10.05, 13:29 -
Brauche Hilfe - Code identifizieren - wozu der Code bestimmt ist
Von Lukasz im Forum PHPAntworten: 3Letzter Beitrag: 20.02.05, 20:58 -
highlight_string wenn Code zwischen [code] [/code]
Von partykiller im Forum PHPAntworten: 3Letzter Beitrag: 22.04.03, 13:10 -
Code Erlaeuterung
Von Muffinmampfer im Forum Visual Basic 6.0Antworten: 5Letzter Beitrag: 08.01.03, 18:52





Zitieren
Login





