Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Hilfe bei Buchstaben Counter

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 09.05.2005, 20:39    Titel: Hilfe bei Buchstaben Counter Antworten mit Zitat

Salve,
ich darf eure Hilfe ma kurz in anspruch nehmen?
Weiß jemand wie ich in Visual Basic das so mach, dass
wnn man in ner InputBox ein Wort schreibt das ,dass dann
zählt z.b Hallo 2xl , 1xh , 1xa , 1xo und das dann in ner Zahl stpeichert?
Also z.B Hallo
wäre dann
1121
oder
Kassette
11222

und dass dann speichert in
nZahl1 usw.

Thanx
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln


Zuletzt bearbeitet von Dorftrottel am 19.05.2005, 15:57, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 09.05.2005, 20:42    Titel: Antworten mit Zitat

Da musst du den textbox.text auslesen, mit ner for...nextz schleife mit MID(text$,start,1) den buchstaben auslesen und dann DO:LOOP UNTIL Buchstabe <> AltBuchstabe

is jetzt net komplett...wenn klein-/großschreibung nicht beachtet werden soll,. musst du noch ucase oder lcase benutzen zwinkern
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 09.05.2005, 21:30    Titel: Antworten mit Zitat

Hier mein Ansatz:

Code:

Dim ASCII(0 TO 255) AS Integer
Text$ = TextBox1.Text

For i = 1 TO Len(Text$)
 wert = Asc(Mid$(Text$, i, 1))
 ASCII(wert) = ASCII(wert) + 1
Next i


Jeder Eintrag im Feld ASCII entspricht dem Zeichen des entsprechenden
ASCII-Codes.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 12.05.2005, 16:03    Titel: Antworten mit Zitat

und das ganze am besten in einer Sub txtDeineBox_Change, damit es sofort gezählt wird, sobald du etwas eingibst.
Anderer Ansatz wäre via txtDeineBox_Keypress (Ascii AS INTEGER)
Hier kannst du einfach schreiben:

Buchst(Ascii) = Buchst(Ascii) + 1

Dazu muss Buchst(255) natürlich erst mal deklariert sein.
Nachteil: Bei Backspace wird Buchst(cool um eins erhöht, anstatt einen Buchstaben wieder herauszulöschen...
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 12.05.2005, 20:36    Titel: Antworten mit Zitat

Hi leuds,
Was is da falsch?
Ich steh grad voll auf'm Schlauch. mit dem Kopf durch die Mauer wollen
Ich probiere das es den ASCII Code anzeigt aber..
funzt ned.. weinen
Code:

Private Sub Text1_Change()

End Sub
Sub txtDeineBox_Change()
Dim ASCII(0 To 255) As Integer
Text$ = Text1_Change

For i = 1 To Len(Text$)
 wert = Asc(Mid$(Text$, i, 1))
 ASCII(wert) = ASCII(wert) + 1
Next i
End Sub



Private Sub Command1_Click()
Cls
30 Print ASCII
End Sub

_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 12.05.2005, 21:25    Titel: Antworten mit Zitat

Es muss nicht
Code:

Text$ = Text1_Change

heißen, sondern
Code:

Text$ = Text1.Text


jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 12.05.2005, 21:36    Titel: Antworten mit Zitat

Zitat:

Es muss nicht
Code:

Text$ = Text1_Change


heißen, sondern
Code:

Text$ = Text1.Text






Dass hat ich ja vorher und da gings auch nicht. weinen
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 12.05.2005, 21:46    Titel: Antworten mit Zitat

Hallo.

Der bisherige Quellcode kann aus verschiedenen Gründen nicht funktionieren, allein schon weil DIM in VB nur in der jeweiligen Sub gilt. Dein ASCII Array kannst du also nicht in mehreren Subs benutzen, wenn du es mit DIM anlegst.

Naja, dann wollen wir das Problem doch mal lösen... cool Zunächst tust du einen Button, eine Textbox und ein List-Element auf die Form und lässt dann diesen Wundercode auf dich einwirken... Deal gemacht
Code:
Private Nr(255) AS INTEGER
Private Sub Command1_Click()
If Text1.Text="Kein Text eingegeben!", vbexclamation+vbokonly, "Autsch!": Exit Sub
Dim i As Integer
For i = 0 TO 255
 Nr(i)=0
Next i
Dim bst AS INTEGER
For i = 1 TO LEN(Text1.Text)
 bst = ASC(MID$(Text1.Text,i,1))
 Nr(bst)=Nr(bst)+1
Next i
List1.Clear
For i = 0 TO UBOUND(Nr)
 List1.AddItem CHR$(i)+" kommt "+LTRIM$(STR$(Nr(i)))+"x vor."
Next i
Form1.Refresh
End Sub


Yahooo!!!!
So, das hab ich jetzt gerade im Eingabefenster geschrieben. Wer Fehler findet darf sie behalten... grinsen

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!


Zuletzt bearbeitet von Sebastian am 12.05.2005, 21:49, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 12.05.2005, 21:47    Titel: Antworten mit Zitat

Dann schreib anstatt
Code:

30 Print ASCII

besser
Code:

For i = 1 To 255
 Print "Das Zeichen mit dem ASCII-Code "; RTrim$(LTrim$(Str$(i))); ": "; RTrim$(LTrim$(Str$(Ascii(i))))
Next i


In deinem Code gibst du ja nur die Variable ASCII aus; mit dem Feld Ascii()
hat diese allerdings herzlich wenig zu tun lächeln

Außerdem solltest du vor Print besser noch "Me." schreiben, also
Code:

Me.Print [...]


jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 13.05.2005, 07:32    Titel: Antworten mit Zitat

Bei der Zeile
Code:

If Text1.Text = "Kein Text eingegeben!", vbexclamation+vbokonly, "Autsch!": Exit Sub

Sagt das Programm immer
Zitat:

COMPILE ERROR

Expected: Then or GoTo


Aber ich glaube wenn ich da GoTo hinpflanze dann
geht es erstrecht nich.
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 13.05.2005, 14:53    Titel: Antworten mit Zitat

Oh sorry, da sind meine Gedanken ineinander geflossen... verlegen
Code:
If Text1.Text = "" Then Msgbox "Kein Text eingegeben!", vbexclamation+vbokonly, "Autsch!": Exit Sub

_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 13.05.2005, 16:03    Titel: Antworten mit Zitat

Hast du meinen Tip mal ausprobiert? Daran sollte es nämlich liegen. lächeln

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 13.05.2005, 19:21    Titel: Antworten mit Zitat

@Sebastian
Jupiiiiiii es geht!!

Nur kann ich auch machen dass man in 2 TextBoxen
was eingibt und das es dann nur Buchtaben (nur von A-Z)
liest und die Zahl der ersten Box in wort1$
und die der zweite Box in wort2$ speichert?
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 13.05.2005, 19:36    Titel: Antworten mit Zitat

Dann mach einfach
Code:

Dim ASCII(1 To 2, Asc(A) To Asc(Z))

Wobei der erste Index der zu wählenden Textbox entspricht.

Wo lag denn jetzt der Fehler?

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 15.05.2005, 11:44    Titel: Antworten mit Zitat

Hi Leude,
bin grade in nem Internet Caffe und wollt ma fragen
ob man auch machen kann das es jede eizelne Ziffer
abspeichert .

Dorftrottel
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 15.05.2005, 14:48    Titel: Antworten mit Zitat

Also ein bisschen kannst du ja auch mitdenken.

Wenn er nur auf Ziffern reagieren soll, muss er testen, ob der
ASCII-Code des momentan gescannten Zeichens >= dem von 0, und <= dem von 9 ist.

Wie du jetzt Zahlen und Buchstaben kombinierst, kannst du dir bestimmt
selber erarbeiten.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 18.06.2005, 09:05    Titel: Antworten mit Zitat

lächeln))
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 18.06.2005, 11:04    Titel: Antworten mit Zitat

OK. Dann scannst du halt jeden Buchstaben unter dem Gesichtspunkt, ob
es eine Zahl ist oder nicht, ab.
Code:

Dim Zahl(0 To 9) As Integer

Text$ = Text1.Text

For i = 1 To Len(Text$)
 Select Case Mid$(Text$, i, 1)
  Case "0" To "9"
   Zahl(Val(Mid$(Text$, i, 1))) = Zahl(Val(Mid$(Text$, i, 1))) + 1
 End Select
Next i


jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz