Rückgabewert hat immer mehr Klammern [[[[[[....

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Rückgabewert hat immer mehr Klammern [[[[[[....

Re: Rückgabewert hat immer mehr Klammern [[[[[[....

von turtle47 » Mo, 25.08.2008 10:17

red2sign hat geschrieben:Waum das?
Warum hat er bei der ersten MSGBOX dann trotz String das richte Ergebnis ausgegeben?
Kann ich Dir leider auch nicht sagen. Da werden wir wohl auf die Antwort von den Experten warten müssen.

Jürgen

Re: Rückgabewert hat immer mehr Klammern [[[[[[....

von red2sign » Mo, 25.08.2008 09:44

Hi Jürgen!

Tatsächlich. Waum das?
Warum hat er bei der ersten MSGBOX dann trotz String das richte Ergebnis ausgegeben?

Gruß

Re: Rückgabewert hat immer mehr Klammern [[[[[[....

von turtle47 » Mo, 25.08.2008 09:26

Hi,

versuche mal folgendes:

Ersetze

Code: Alles auswählen

....... as String
durch

Code: Alles auswählen

....... as Variant
Hilft das?

Jürgen

Rückgabewert hat immer mehr Klammern [[[[[[....

von red2sign » Mo, 25.08.2008 07:55

Hallo,

könnt Ihr das nachvollziehen? Ich rufe eine Funktion ein paar mal hintereinander in der gleichen Sub auf, dabei enthält die Rückgabewert nach jedem Aufruf einen Satz eckiger Klammern. Jedoch sollte in der Rückgabe nur der String stehen.

Hier der Code:

Code: Alles auswählen

Sub Textfeldfuellung
 Dim varGewUser as String
 Dim varSign as String
 Dim varResponse as String
 Dim varFunction as String
 Dim varTelefon as String
 Dim varTelefax as String
 Dim varEMail as String
 Dim sFile3 as String
 sFile3 = "D:\inifile.ini"
 
 KontrolleLB = MyDlg.getControl("ListBox1") 'Ansprechen des Listenfeldes (ListBox1)
 varGewUser = KontrolleLB.SelectedItem 'varGewUser ist der markierte Eintrag, zB Toni Tester oder Frank Farber
 msgbox varGewUser, 0, "Ihre Auswahl:"
 
  'Das Zeichen der Person aus der ini lesen:
 'varSign = readini(sFile3,varGewUser,"Sign","")
  'Die Email der Person aus der ini lesen:
 varEMail = readini(sFile3,varGewUser,"EMail")
 
 MsgBox varGewUser, 0, "varGewUser:"
 
 'Schreiben des Zeichens in TextField4
 'MyDlg.getControl("TextField4").Model.Text = varSign
  'Schreiben der EMail in TextField3
 MyDlg.getControl("TextField3").Model.Text = varEMail

 MsgBox varGewUser, 0, "varGewUser:"

End Sub
Wenn ich nun starte, erscheinen mir die drei Messageboxen mit dem Inhalt: Sony; [Sony]; [Sony]

Hier noch die readinifunktion:

Code: Alles auswählen

function readini(inifile as string, bereich as string, param as string) as string
   Dim inBereich as boolean
   Dim aFile as String
   Dim #inumber
   Dim szeile as String
   Dim para as String
   Dim Start as String
 
   inBereich=false
   readini=default
   Bereich="["+bereich+"]"
   #iNumber = Freefile
   aFile = inifile
   on error goto ende
   if FileExists(inifile) then
   Open aFile For Input As #iNumber
   While not eof(#iNumber)
 
   Line Input #iNumber, sZeile
   if szeile=Bereich then inBereich=true
   if inBereich then
     ipos=InStr(sZeile,"=")
      if ipos>0 then
        para=mid(szeile,1,ipos-1)
        if para = param then
          readini=mid(szeile,ipos+1)
          inBereich=false
        end if
      end if
    end if
    if inBereich then
     start=left(sZeile,1)
     if start="[" then inbereich=false
    end if
    if szeile=bereich then inBereich=true
    wend
    Close #iNumber
   end if
  exit function
  ende: 
end function
Hier noch ein paar Sätze für die Inidatei...
[c

Code: Alles auswählen

efaultUser]
NewInfo=
DefUser=1

[StoUser]
User0=Nokia
User1=Sony
User2=Alcatel
User3=Motorola
User4=Aikon
User5=Sharp
User6=LG
User7=BenQ
User8=Samsung
 
[Nokia]
Sign=NK
Response=Finnland
Function=Finne
Telefon=07nokia
Telefax=08nokia
EMail=mailatnokia.fn
Company=
Language=
Alignment=
 
[Sony]
Sign=SY
Response=Japan
Function=Japaner
Telefon=01sony
Telefax=01sony
EMail=mailatsony.jp
Company=
Language=
Alignment=

Hoffe ihr könnt mir helfen...
Dank und Gruß,
red2sign

Edit: Es scheint nicht an der OO-Version zu liegen, sondern irgendwo muss ein Bug vorliegen. Vermute bei der Aktion mit der Funktion.

Nach oben