Einzelne Buchstaben in einem String bearbeiten
Übersicht

Woody the woodiestBetreff: Einzelne Buchstaben in einem String bearbeiten |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gibt es eine Funktion/Befehl, die/der zur Bearbeitung einzelner
Buchstaben in einer Zeichenkette dient? Ich hab in einem Prog ein Array mit 80 Zeichenketten, von denen jede einen Namen enthält, der in zufälliger Länge zufällig generiert ist. Nun will ich diese Namen bearbeiten (einzelne Buchstaben auswechseln) und weiß nicht, wie ich das machen soll. Man könnte ja für jeden Buchstaben einen Platz in einem Array machen, doch ich suche eine Alternative. |
||
Am Sonntag sind die Autobahnen leer, so kann man ruhig in Urlaub fahren.
Würden alle so denken, wären die Autobahnen am Sonntag voll. Warum sind sie es trotzdem nicht? Weil der Großteil der Bevölkerung gar nicht denken KANN. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] For x= 1 to Len(A$)
Buchstabe$ = mid(A$,x,1) if ....was auch immer .. next nun kommt es darauf an was geändert bzw gesucht und ersetzt werden soll! das geht mit instr left right mid und evt upper |
||
[BB2D | BB3D | BB+]
|
hot-bitGast |
![]() Antworten mit Zitat |
|
---|---|---|
Hoi.
Bevor du was suchen läßt, wäre es angebracht, daß du mal suchst ! Es gibt so schöne Befehle für BlitzBasic ! Und die kann man sogar benutzen ![]() Also, nicht zuerst programmieren wollen, und dann die Befehle suchen, sondern anders rum ! Toni |
||
Woody the woodiest |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die Befehle kannt ich schon vorher, aber ich wusste nicht genau, wie ich sie für mein Programm anwenden soll.
Jetzt hab ich ein Problem: Wieso wird hier der Anfangsbuchstabe jedes Namens nicht groß gespeichert? Code: [AUSKLAPPEN] Graphics 800,600,32,1 ;Vollbild mit Auflösung 800x600x32 SetBuffer BackBuffer() AppTitle "BAPTISM" ;Hintergrundfarbe ClsColor 60,130,255 SeedRnd MilliSecs() ;Saat basiert auf vergangener Zeit seit PC-Start ;---------------- ;Image laden | ;---------------- Anzeigeflaeche=LoadImage("Anzeigefläche_JLTW.png") ;------------- ;Arrays | ;------------- Dim Namen$(Namenanzahl) ;Array für die zufällig generierten Namen (80 Stück) Dim Laenge(Namenanzahl) ;Array für die Länge jedes Namens Dim Vokale(4) ;ASCII-Codes für die Vokale "a,e,i,o,u" Dim Anfangsbuchstabe(Namenanzahl) ;ASCII-Code für den ersten Buchstaben jedes Namens ;-------------------- ;Arrays füllen | ;-------------------- Vokale(0)=97 Vokale(1)=101 Vokale(2)=105 Vokale(3)=112 Vokale(4)=117 ;-------------------------- ;Variablen/Konstanten | ;-------------------------- ;Konstanten Const Namenanzahl=79 ;Anzahl der Namen im Array "Namen" Const Mindestzahl=2 ;Mindestanzahl der Buchstaben in einem Namen Const Hoechstzahl=14 ;Höchstzahl von Buchstaben in einem Namen Const Ersterbuchstabe=97 ;ASCII-Code für den ersten Buchstaben "a" Const Letzterbuchstabe=122 ;ASCII-Code für den letzten Buchstaben "z" ;Positionen Buttons, Anzeigefläche etc. Const AnzeigeflaecheX=35 Const AnzeigeflaecheY=40 ;Variablen ;------------------- ;Funktionen | ;------------------- Function Namensgenerierung() For a=0 To Namenanzahl For b=0 To Laenge(a) Namen$(a)=Namen$(a)+Chr$(Rand(Ersterbuchstabe,Letzterbuchstabe)) Next Next End Function ;Länge zufällig festlegen For a=0 To Namenanzahl If Laengenauswahl=0 Then Laenge(a)=Rand(Mindestzahl,Hoechstzahl) End If Next ;------------------------------------------- ;Namen generieren(Aufrufen der Funktion) | ;------------------------------------------- Namensgenerierung ;----------------------- ;Namen bearbeiten | ;----------------------- ;Ersten Buchstaben groß machen For a=0 To Namenanzahl For b=Ersterbuchstabe To Letzterbuchstabe Anfangsbuchstabe(a)=Asc(Left$(Namen$(a),1)) If Anfangsbuchstabe(a)=b Then Anfangsbuchstabe(a)=b-32 Replace$(Namen$(a),Left$(Namen$(a),1),Chr$(Anfangsbuchstabe(a))) End If Next Next Daten=WriteFile("C:\Programme\Namen.txt") For a=0 To Namenanzahl WriteLine Daten,Namen$(a) Next CloseFile Daten ;----------------------- ;Benutzeroberfläche | ;----------------------- Repeat Cls ;---------------------- ;Buttons etc. malen | ;---------------------- ;Anzeigefläche DrawImage Anzeigeflaeche,AnzeigeflaecheX,AnzeigeflaecheY Flip Until KeyHit(1) WaitKey End Danke im Voraus |
||
Am Sonntag sind die Autobahnen leer, so kann man ruhig in Urlaub fahren.
Würden alle so denken, wären die Autobahnen am Sonntag voll. Warum sind sie es trotzdem nicht? Weil der Großteil der Bevölkerung gar nicht denken KANN. |
hot-bitGast |
![]() Antworten mit Zitat |
|
---|---|---|
Hoi.
tztztztz ..... Upper$(Text) und Lower$(Text) sind wahrscheinlich undokumentiert ! ![]() So ein Pech ... Toni |
||
Woody the woodiest |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aahh, jetzt hab ichs. Aber ich hab immer noch eine Frage:
Wieso funktionieren nicht beide von den zwei untenstehenden Varianten? Code: [AUSKLAPPEN] For a=0 To Namenanzahl Anfangsbuchstabe(a)=Asc(Upper$(Left$(Namen$(a),1))) ;Der erste Buchstabe (von links) wird groß gemacht Namen$(a)=Chr$(Anfangsbuchstabe(a))+Right$(Namen$(a),Laenge(a)-1) Next Code: [AUSKLAPPEN] For a=0 To Namenanzahl Anfangsbuchstabe(a)=Asc(Upper$(Left$(Namen$(a),1))) ;Der erste Buchstabe (von links) wird groß gemacht Replace$(Namen$(a),Left$(Namen$(a),1),Chr$(Anfangsbuchstabe(a))) Next (Die erste Variante funzt, die zweite nicht) Danke im Voraus |
||
Am Sonntag sind die Autobahnen leer, so kann man ruhig in Urlaub fahren.
Würden alle so denken, wären die Autobahnen am Sonntag voll. Warum sind sie es trotzdem nicht? Weil der Großteil der Bevölkerung gar nicht denken KANN. |
hot-bitGast |
![]() Antworten mit Zitat |
|
---|---|---|
Hoi.
Vielleicht kannst da was draus lernen ... (Hohoho - der Weihnachtsmann) ![]() Code: [AUSKLAPPEN] Dim namen$(3)
Namen$(1)="knafl anton" Namen$(2)="schönaugürtel 48, 8010 graz" namen$(3)="austria" For j=1 To 3 For a=1 To Len(namen$(j)) If a=1 namen$(j)=Upper$(Mid$(namen$(j),a,1))+Mid$(namen$(j),a+1,Len(namen$(j))-1) EndIf If Mid$(namen$(j),a,1)=Chr$(32) namen$(j)=Left$(namen$(j),a)+Upper$(Mid$(namen$(j),a+1,1))+Mid$(namen$(j),a+2,Len(namen$(j))-a-1) EndIf Next Next For i=1 To 3 Print namen$(i) Next While Not KeyHit(1):Wend End Toni |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group