Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Cherry
Anmeldungsdatum: 20.06.2007 Beiträge: 249
|
Verfasst am: 03.08.2007, 11:24 Titel: merkwürdiger Bug oder was? |
|
|
Hi, ich habe folgenden Code (gekürzt):
Code: | Declare Sub Test(lna As String, lnb As String)
Sub Test(lna As String, lnb As String)
lna = Space((20 - Len(lna) / 2)) + lna
lnb = Space((20 - Len(lnb) / 2)) + lnb
Print lna
Print lnb
Sleep
End Sub
Test "ABC", "DEF" |
Wieso ergibt das
" ABC
ABC"
und nicht
" ABC
DEF" ?
Wenn ich das so umgestalte:
Code: | Declare Sub Test(lna As String, lnb As String)
Sub Test(lna As String, lnb As String)
Dim As String bla_lna = lna, bla_lnb = lnb
bla_lna = Space((20 - Len(bla_lna) / 2)) + bla_lna
bla_lnb = Space((20 - Len(bla_lnb) / 2)) + bla_lnb
Print bla_lna
Print bla_lnb
Sleep
End Sub
Test "ABC", "DEF" |
dann funktioniert es. Wieso?
mfG Cherry |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 03.08.2007, 11:28 Titel: |
|
|
den fehler hatten wir schon gestern (oder wars vorgestern?)
Du uebergibst deine String ByRef, allerdings nicht als Variable sonders als FixLen, es funktioniert in der zweiten version deswegen weil Du dafuer extra neue variablen anlegst, in der ersten version wird ueber die laenge des FixLen Strings hinausgeschrieben...
evt. wuerde es so funtionieren wenn Du vor dem aufruf
zwei Strings definierst und uebergibts....
so oder so aehnlich
Edit:
Hier haben wir es schon einmal erklaert/geloest
http://forum.qbasic.at/viewtopic.php?t=4554 _________________
 |
|
Nach oben |
|
 |
Cherry
Anmeldungsdatum: 20.06.2007 Beiträge: 249
|
Verfasst am: 03.08.2007, 12:05 Titel: |
|
|
ach so
danke |
|
Nach oben |
|
 |
|