Italia
Foro

Zahlen Konvertieren

 

Julian
Schmidt
Ciao,
ich würde gerne ein Zahlenfolge mit Translate umformen. (Mit Kommas)
Und zwar wie folgt:
0<->5
1<->6
2<->7
3<->8
4<->9

Es sollen kein Buchstaben (Punkt und Komma) umgewandelt werden, nur Zahlen!
Mein zweiter Ansatz sieht wie folgt aus:
declare Ausgelesen$,Ablage$,Ablage2$,GesamterZahlenString$
Ausgelesen$=Input$("Bitte geben sie eine Zahlenfolge ein","Eingabe","4")

whileloop Len(Ausgelesen$)

    Ablage$=Mid$(Ausgelesen$,&loop,1)
    Ablage2$=Translate$(Ablage$,"0","5")
    Ablage2$=Translate$(Ablage$,"1","6")
    Ablage2$=Translate$(Ablage$,"2","7")
    Ablage2$=Translate$(Ablage$,"3","8")
    Ablage2$=Translate$(Ablage$,"4","9")
    GesamterZahlenString$=GesamterZahlenString$+Ablage2$
    clear ablage2$

Endwhile

MessageBox("Ergebnis: "+GesamterZahlenString$,"INFO",64)

Wie bekommt man es os hin das jedes Zeichen korekt umgeformt wird.

Und sich keine Umformung wieder aufhebt (Translate$(Ablage$,"4","9") und danach Translate$(Ablage$,"9","4")).

LG

Julian57
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
08.04.2011  
 




Nico
Madysa
Du kannst zuerst 0->A, 1->B, usw. umformen, dann 5->0, 6-1, usw. und zum Schluss A->5, B->6, usw.
 
Nico Madysa
08.04.2011  
 




Julian
Schmidt
Gut dann sieht der Code so aus:
declare Ausgelesen$,Ablage$,Ablage2$,GesamterZahlenString$
Ausgelesen$=Input$("Bitte geben sie eine Zahlenfolge ein","Eingabe","4")

whileloop Len(Ausgelesen$)

    Ablage$=Mid$(Ausgelesen$,&loop,1)
    Ablage2$=Ablage2$+Translate$(Ablage$,"0","A")
    Ablage2$=Ablage2$+Translate$(Ablage$,"1","B")
    Ablage2$=Ablage2$+Translate$(Ablage$,"2","C")
    Ablage2$=Ablage2$+Translate$(Ablage$,"3","D")
    Ablage2$=Ablage2$+Translate$(Ablage$,"4","E")
    Ablage2$=Ablage2$+Translate$(Ablage$,"5","A")
    Ablage2$=Ablage2$+Translate$(Ablage$,"6","1")
    Ablage2$=Ablage2$+Translate$(Ablage$,"7","2")
    Ablage2$=Ablage2$+Translate$(Ablage$,"8","3")
    Ablage2$=Ablage2$+Translate$(Ablage$,"9","4")
    Ablage2$=Ablage2$+Translate$(Ablage$,"0","5")
    Ablage2$=Ablage2$+Translate$(Ablage$,"A","5")
    Ablage2$=Ablage2$+Translate$(Ablage$,"B","6")
    Ablage2$=Ablage2$+Translate$(Ablage$,"C","7")
    Ablage2$=Ablage2$+Translate$(Ablage$,"D","8")
    Ablage2$=Ablage2$+Translate$(Ablage$,"E","9")
    GesamterZahlenString$=GesamterZahlenString$+Ablage2$
    clear ablage2$

Endwhile

MessageBox("Ergebnis: "+GesamterZahlenString$,"INFO",64)

Nur wie bekomme ich das funktionsfähig.
Es werden immernoch falsche Werte ausgegeben, muss ich einen anderen Variablen-Typ nehmen oder was stimmt da nicht?
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
08.04.2011  
 




Nico
Madysa
Einfach überall das "Ablage2$+" entfernen. Das übersetzte darf nicht drangehängt werden, sondern soll das alte ersetzen.
Oh, und du hast bei "Translate$(Ablage$,"5","A")" dich vertippt.
 
Nico Madysa
08.04.2011  
 




Julian
Schmidt
Geht ohne "Ablage2$+" genauso wenig
declare Ausgelesen$,Ablage$,Ablage2$,GesamterZahlenString$
Ausgelesen$=Input$("Bitte geben sie eine Zahlenfolge ein","Eingabe","4")

whileloop Len(Ausgelesen$)

    Ablage$=Mid$(Ausgelesen$,&loop,1)
    Ablage2$=Translate$(Ablage$,"0","A")
    Ablage2$=Translate$(Ablage$,"1","B")
    Ablage2$=Translate$(Ablage$,"2","C")
    Ablage2$=Translate$(Ablage$,"3","D")
    Ablage2$=Translate$(Ablage$,"4","E")
    Ablage2$=Translate$(Ablage$,"5","0")
    Ablage2$=Translate$(Ablage$,"6","1")
    Ablage2$=Translate$(Ablage$,"7","2")
    Ablage2$=Translate$(Ablage$,"8","3")
    Ablage2$=Translate$(Ablage$,"9","4")
    Ablage2$=Translate$(Ablage$,"A","5")
    Ablage2$=Translate$(Ablage$,"B","6")
    Ablage2$=Translate$(Ablage$,"C","7")
    Ablage2$=Translate$(Ablage$,"D","8")
    Ablage2$=Translate$(Ablage$,"E","9")
    GesamterZahlenString$=GesamterZahlenString$+Ablage2$
    clear ablage2$

Endwhile

MessageBox("Ergebnis: "+GesamterZahlenString$,"INFO",64)

Nico Madysa (08.04.11)
Oh, und du hast bei "Translate$(Ablage$,"5","A")" dich vertippt.


Danke per den Hinweis
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
08.04.2011  
 




Jörg
Sellmeyer
Du setzt ja auch immer wieder die Originalzeichenfolge als Basis ein.

Ab "B" mußt Du Ablage2$=Translate$(Ablage2$,"1","B") verwenden.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
08.04.2011  
 



Über eine IF-Bedingungen bekomme ich es hin.
declare Ausgelesen$,Ablage$,Ablage2$,GesamterZahlenString$
Ausgelesen$=Input$("Bitte geben sie eine Zahlenfolge ein","Eingabe","4")

whileloop Len(Ausgelesen$)

    Ablage$=Mid$(Ausgelesen$,&loop,1)

    if Ablage$=0

        Ablage$=5

    elseif Ablage$=1

        Ablage$=6

    elseif Ablage$=2

        Ablage$=7

    elseif Ablage$=3

        Ablage$=8

    elseif Ablage$=4

        Ablage$=9

    elseif Ablage$=5

        Ablage$=0

    elseif Ablage$=6

        Ablage$=1

    elseif Ablage$=7

        Ablage$=2

    elseif Ablage$=8

        Ablage$=3

    elseif Ablage$=9

        Ablage$=4

    Endif

    GesamterZahlenString$=GesamterZahlenString$+Ablage$
    clear ablage2$

Endwhile

MessageBox("Ergebnis: "+GesamterZahlenString$,"INFO",64)

Geht das noch einfacher,eleganter lösen?
 
08.04.2011  
 




Julian
Schmidt
Ich habe das ganze jetzt mal auf das Alphabet übertragen.
Es wird jeder Buchstabe um 13 Buchstaben im Alphapet verrückt.
declare Ausgelesen$,Ablage$,Ablage2$,key$
Ausgelesen$=Input$("Bitte geben sie einen Text ein","Eingabe","Mein Text")

whileloop Len(Ausgelesen$)

    Ablage$=Mid$(Ausgelesen$,&loop,1)
    Ablage2$=Translate$(Ablage$,"A","1")
    Ablage2$=Translate$(Ablage2$,"B","2")
    Ablage2$=Translate$(Ablage2$,"C","3")
    Ablage2$=Translate$(Ablage2$,"D","4")
    Ablage2$=Translate$(Ablage2$,"E","5")
    Ablage2$=Translate$(Ablage2$,"F","6")
    Ablage2$=Translate$(Ablage2$,"G","7")
    Ablage2$=Translate$(Ablage2$,"H","8")
    Ablage2$=Translate$(Ablage2$,"I","9")
    Ablage2$=Translate$(Ablage2$,"J","0")
    Ablage2$=Translate$(Ablage2$,"K","?")
    Ablage2$=Translate$(Ablage2$,"L","!")
    Ablage2$=Translate$(Ablage2$,"M","_")
    Ablage2$=Translate$(Ablage2$,"N","A")
    Ablage2$=Translate$(Ablage2$,"O","B")
    Ablage2$=Translate$(Ablage2$,"P","C")
    Ablage2$=Translate$(Ablage2$,"Q","D")
    Ablage2$=Translate$(Ablage2$,"R","E")
    Ablage2$=Translate$(Ablage2$,"S","F")
    Ablage2$=Translate$(Ablage2$,"T","G")
    Ablage2$=Translate$(Ablage2$,"U","H")
    Ablage2$=Translate$(Ablage2$,"V","I")
    Ablage2$=Translate$(Ablage2$,"W","J")
    Ablage2$=Translate$(Ablage2$,"X","K")
    Ablage2$=Translate$(Ablage2$,"Y","L")
    Ablage2$=Translate$(Ablage2$,"Z","M")
    Ablage2$=Translate$(Ablage2$,"1","N")
    Ablage2$=Translate$(Ablage2$,"2","O")
    Ablage2$=Translate$(Ablage2$,"3","P")
    Ablage2$=Translate$(Ablage2$,"4","Q")
    Ablage2$=Translate$(Ablage2$,"5","R")
    Ablage2$=Translate$(Ablage2$,"6","S")
    Ablage2$=Translate$(Ablage2$,"7","T")
    Ablage2$=Translate$(Ablage2$,"8","U")
    Ablage2$=Translate$(Ablage2$,"9","V")
    Ablage2$=Translate$(Ablage2$,"0","W")
    Ablage2$=Translate$(Ablage2$,"?","X")
    Ablage2$=Translate$(Ablage2$,"!","Y")
    Ablage2$=Translate$(Ablage2$,"_","Z")
    Ablage2$=Translate$(Ablage2$,"a","1")
    Ablage2$=Translate$(Ablage2$,"b","2")
    Ablage2$=Translate$(Ablage2$,"c","3")
    Ablage2$=Translate$(Ablage2$,"d","4")
    Ablage2$=Translate$(Ablage2$,"e","5")
    Ablage2$=Translate$(Ablage2$,"f","6")
    Ablage2$=Translate$(Ablage2$,"g","7")
    Ablage2$=Translate$(Ablage2$,"h","8")
    Ablage2$=Translate$(Ablage2$,"i","9")
    Ablage2$=Translate$(Ablage2$,"j","0")
    Ablage2$=Translate$(Ablage2$,"k","?")
    Ablage2$=Translate$(Ablage2$,"l","!")
    Ablage2$=Translate$(Ablage2$,"m","_")
    Ablage2$=Translate$(Ablage2$,"n","a")
    Ablage2$=Translate$(Ablage2$,"o","b")
    Ablage2$=Translate$(Ablage2$,"p","c")
    Ablage2$=Translate$(Ablage2$,"q","d")
    Ablage2$=Translate$(Ablage2$,"r","e")
    Ablage2$=Translate$(Ablage2$,"s","f")
    Ablage2$=Translate$(Ablage2$,"t","g")
    Ablage2$=Translate$(Ablage2$,"u","h")
    Ablage2$=Translate$(Ablage2$,"v","i")
    Ablage2$=Translate$(Ablage2$,"w","j")
    Ablage2$=Translate$(Ablage2$,"x","k")
    Ablage2$=Translate$(Ablage2$,"y","l")
    Ablage2$=Translate$(Ablage2$,"z","m")
    Ablage2$=Translate$(Ablage2$,"1","n")
    Ablage2$=Translate$(Ablage2$,"2","o")
    Ablage2$=Translate$(Ablage2$,"3","p")
    Ablage2$=Translate$(Ablage2$,"4","q")
    Ablage2$=Translate$(Ablage2$,"5","r")
    Ablage2$=Translate$(Ablage2$,"6","s")
    Ablage2$=Translate$(Ablage2$,"7","t")
    Ablage2$=Translate$(Ablage2$,"8","u")
    Ablage2$=Translate$(Ablage2$,"9","v")
    Ablage2$=Translate$(Ablage2$,"0","w")
    Ablage2$=Translate$(Ablage2$,"?","x")
    Ablage2$=Translate$(Ablage2$,"!","y")
    Ablage2$=Translate$(Ablage2$,"_","z")
    Key$=Key$+Ablage2$
    clear ablage2$

Endwhile

MessageBox("Ergebnis: "+Key$,"INFO",64)

Wie kann man diese Arbeit aud wenige Zeilen übertragen?
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
08.04.2011  
 



>> Kann man so eine Arbeit in wenige Zeilen fassen?

whileloop chr$(daLoop)
 
08.04.2011  
 




Andreas
Miethe


Unbenannt (08.04.11)
>> Kann man so eine Arbeit in wenige Zeilen fassen?


Nur als Anregung
cls
Var Text$ = "1234567890ßABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
Var Ergebnis$ = ""

Whileloop 1,Len(Text$)

    Ergebnis$ = Ergebnis$ + CHR$(Ord(Mid$(Text$,&loop,1))+13)

Endwhile

Print Ergebnis$
'Und zurück
Text$ = ""

Whileloop 1,Len(Ergebnis$)

    Text$ = Text$ + CHR$(Ord(Mid$(Ergebnis$,&loop,1))-13)

Endwhile

Print Text$
Waitinput
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
09.04.2011  
 




Julian
Schmidt
Ah ja,
das sieht gut aus

Nur kommen bei manchen Buchstaben Sonderzeichen heraus.

LG

Julian57
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
09.04.2011  
 




Andreas
Miethe


War auch nur als Anregung gedacht.

Hier ist noch eine.
Du kannst Dir ja eine bzw. zwei Ersatztabellen machen und die Schleife laufen lassen.
CLS
Var ZuErsetzen$ = "ABCDEFGHIJ"
'wird ersetzt durch
Var Ersatz$     = "1234567890"
Var Pos& = 0
Var Ergebnis$ = ""
Var Test$ = "ABER HALLO"

Whileloop 1,Len(Test$)

    Pos& = Instr(Mid$(Test$,&loop,1),ZuErsetzen$)

    If Pos&

        Ergebnis$ = Ergebnis$ + Mid$(Ersatz$,Pos&,1)

    Else

        Ergebnis$ = Ergebnis$ + Mid$(Test$,&Loop,1)

    Endif

Endwhile

Print Ergebnis$
waitinput
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
09.04.2011  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

13.050 Views

Untitledvor 0 min.
H.Brill04.08.2023
Torsten Rümker03.06.2015
Matthias Griesbach28.07.2014
Pauli23.07.2013
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie