![]() |
Vokale Zählen
Hallo, ich weiß nicht weiter und ich finde einfach den Fehler nirgens.Könnte sich vieleicht mal jemand meinschulprojekt ansehen und mir sagen was ich falsch mache? Währe echt voll nett von euch.
Delphi-Quellcode:
[edit=sakura] [delphi]-Tags. Mfg, sakura[/edit]
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) eingabe: TEdit; vokale: TLabel; Label2: TLabel; ausgabevokale: TEdit; ausgabekonsonanten: TEdit; zaehlen: TButton; schliessen: TButton; procedure zaehlenClick(Sender: TObject); procedure schliessenClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation var satz:string; i:integer; buchstabe:integer; vokal:string; konsonant:string; {$R *.dfm} procedure TForm1.schliessenClick(Sender: TObject); begin close; end; procedure TForm1.zaehlenClick(Sender: TObject); begin for i:=1 to length(satz) do if (satz[i]='a') or (satz[i]='e') or (satz[i]='i') or (satz[i]='u') or (satz[i]='o') then satz[i]:=vokal[1]; else satz[i]:=konsonant[1]; end; end. |
Re: Es funzt einfach nicht
Nutze bitte den Edit-Button an Deinem Beitrag und gib der Frage einen aussagekräftigen Titel.
Danke, ...:cat:... |
Re: Es funzt einfach nicht
sorry ich hab noch keiner erfahrung wie das geht mit Edit hab noch nicht so viel gepostet hier.werd mich bemühen das zu ändern.danke für deinen Tip
|
Re: Es funzt einfach nicht
Hi,
ändere bitte den Titel in einen aussagekräftigen. Zu deinem Problem: Du hast nirgendwo vokal implementiert, sondern lediglich deaklariert. Irgendwo musst du vokal sicher noch etwas zuweisen. Ich beziehe mich auf diese Stelle:
Delphi-Quellcode:
Edit: Genauso bei konstant und was ist satz, weist du da etwas zu?
satz[i] := vokal[1];
Edit: Klicke einfach in deinem ersten Beitrag oben rechts auf http://www.delphipraxis.net/template.../icon_edit.gif und ändere den Titel. ;) |
Re: Es funzt einfach nicht
Vielleicht wäre es besser, wenn du uns sagen würdest, was genau nicht klappt und wenn ein Fehler kommt, wo und welcher. Eine kurze Beschreibung des Soll-Zustandes wär auch kein Fehler.
|
Re: Vokale Zählen
Jetzt mit dem Titel wird alles klar. Hier eine mögliche Lösung:
Delphi-Quellcode:
Eigentlich sind der Code und die Komponentennamen selbsterklärend.
procedure TForm1.BtnZaehlenClick(Sender: TObject);
var i: Integer; VokNum, KonstNum: Integer; Satz: string; begin VokNum := 0; KonstNum := 0; // Groß-/Kleinschreibung ignorieren Satz := AnsiLowerCase(EdtSatz.Text); for i := 1 to Length(Satz) do begin if Satz[i] in ['a', 'e', 'i', 'o', 'u'] then inc(VokNum) else inc(KonstNum); end; LblVokNum.Caption := IntToStr(VokNum); LblKonstNum.Caption := IntToStr(KonstNum); end; |
Re: Vokale Zählen
Delphi-Quellcode:
Andere Lösungsansätze findest Du auch in Deinem ersten Thread:
implementation
var satz:string; i:integer; buchstabe:integer; vokal:Integer; konsonant:Integer; {$R *.dfm} procedure TForm1.schliessenClick(Sender: TObject); begin close; end; procedure TForm1.zaehlenClick(Sender: TObject); begin vokal:=0; konsonant:=0; for i:=1 to length(satz) do if (satz[i]='a') or (satz[i]='e') or (satz[i]='i') or (satz[i]='u') or (satz[i]='o') then inc(vokal; else inc(konsonant); end; ![]() Grüße Klaus |
Re: Vokale Zählen
Danke Matze,wo soll ich das aber bitte einfügen?
|
Re: Vokale Zählen
Danke Klaus01 ich probiere ja schon länger alles aus und hab verschiedene sachen versucht aber ich bin da wohl noch zu doof um das richtig zu erkennen denk ich mal.
|
Re: Vokale Zählen
Zitat:
|
Re: Vokale Zählen
Ich möchte wirklich kein fertiges Projekt von Euch haben,ich will es nur richtig verstehen.ich hab von delphi echt nicht soviel ahnung und in der schule wird das auch nicht so richtig erklärt finde ich.ich setz mich mal ran und lass mir das nochmal und nochmal durch den kopf gehen.ich muss da doch drauf kommen. Danke Matze und Klaus01 für Eure hilfe
|
Re: Vokale Zählen
Ich hab mal aufgeschrieben wie ich mir das Projekt genau vorstelle und ich hab auch schon vieles versucht aber ich bekomm das nicht hin irgendwie.
ich muss ein feld haben wo ich einen satz eingeben kann und dann muss ich einen button haben und wenn ich drauf klicke muss das programm in dem eingegebenen satz alle konsonanten und vokale zählen und die muss er dann einen einzelnen felder dann reinschreiben also ein 1 feld für konsonanten und eins für vokale und ich denke man muss als variable schonmal vokale und konsonanten angeben ganz am anfang muss die variable den wert 0 erhalten und vokal auch und wenn der dann die einzelnen buchstaben vom satz durchgeht und einen vokal oder konsonant findet muss der immer 1 dazuzählen und am ende alles addieren und das ergebnis ins ausgabefeld schreiben.so sollte das ganze aussehen aber ich bekomm das einfach nicht gebacken sorry |
Re: Vokale Zählen
ich denke dir muss erstmal klar werden wie das ohne Delphi geht. Desweiteren gewöhne dich bitte an den "Edit"-Button.
Du schreibst ja das du immer 1 dazuzählen musst (bei Konstante bzw. Vokal). Am Ende schreibst du jedoch noch das du alles dann addieren musst. Wenn du ummer 1 dazu zählst ist es doch schon addiert. Wenn du etwas zählen willst solltest du einen Variablentyp nutzen der Zahlen beherbergt. Und dann ist das Prinzip folgendes. 1.) AnzahlKonsonanten = 0 2.) AnzahlVokale = 0 3.) Alle Buchstaben der Reihe nach durchgehen. Wenn Es ein Vokal ist dann wird die Anzahl der Vokale um 1 erhöht ansonsten die Anzahl der Konsonanten. Wenn du dann alle Buchstaben duchgegangen bist hast du somit schon die Anzahl der Vokale und die Anzahl der Konsonanten. Diese musst du dann noch ausgeben. Wie bereits geschrieben hab ich eher das Gefühl das du dir nicht klar bist wie die Aufgabe ohne Delphi (auf Blatt papier) gelöst werden kann. |
Re: Vokale Zählen
also du fügst in deine Form ein edit ein, 2 labels und ein button.
auf den button machst du dann:
Delphi-Quellcode:
so das war es dann schon.
procedure TForm1.Button1Click(Sender: TObject);
var konsonanten,vokale,i:integer; begin // beides 0 setzen konsonanten:=0; vokale:=0; for i:=1 to length(edit1.text) do // jedes Zeichen des satzes durchgehen begin if edit1.text[i] in ['a','e','i','o','u'] then vokale:=vokale+1; // wenn ein Vokal, dann eins Hochzählen //konsonanten zählen if edit1.Text[i] in ['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','u','v','w','x','y','z'] then konsonanten:=konsonanten+1; // wenn kosonant, dann eins hochzählen end; label2.caption:=inttostr(konsonanten); // ausgeben label1.caption:=inttostr(vokale); // ausgeben end; |
Re: Vokale Zählen
Es soll ein Satz eingegeben werden.
Die meisten Sätze enthalten Interpunktionszeichen und Leerzeichen. Ich würde Kommata und Leerzeichen nicht gerade als Konsonanten bezeichnen. Daher würde ich es eher so machen:
Delphi-Quellcode:
BTW: Sind Umlaute eigentlich Vokale oder Konsonanten?
procedure TForm1.zaehlenClick(Sender: TObject);
begin satz:=AnsiUpperString(satz); vokal:=0; konsonant:=0; for i:=1 to length(satz) do if satz[i] in ['A', 'E', 'I', 'O', 'U'] then inc(vokal; else if satz[i] in ['A'..'Z'] then inc(konsonant); end; |
Re: Vokale Zählen
ich muss zugeben das ich damit schon etwas überfordert bin sorry.für mich ist das alles neuland und ich versuch es einfach nur zu verstehen. Ich möchte zuerst alle Vokale einzeln und alle Konsonanten einzeln ermitteln ( zahlenmässig) und dann das ganze zusammen rechnen irgendwie. Ich hab das auf Papier schon versuicht mit zeichnung und so eben aber in der realität sieht es völlig anderst aus. ich check das irgendwie nicht sorry.Ich bin für jede hilfe dankbar. Wenn ich antwort erstellen anklicke finde ich nirgens einen Edit button sorry sonst würde ich diesen benutzen
|
Re: Vokale Zählen
es ist ja wunderschön ds ihr eine komplettlösung postet, aber anscheinend habt ihr nicht daran gedacht das er dabei nicht viel lernt und das diese unvollständig sind. Ihr berücksichtigt jeweils nur groß oder kleingeschriebenes aber nicht beides.
|
Re: Vokale Zählen
Zitat:
was verstehst du an meinem Text nicht, denn ich auch schon kommentiert habe... aber eine Frage: ein bissl englisch kannst du? oder du kennst die schleifen, if anweisungen? das einfach auf deinen Button legen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var konsonanten,vokale,i:integer; begin edit1.Text:=ansilowercase(edit1.text);// Groß- und Kleinschreibung ignorieren // beides 0 setzen konsonanten:=0; vokale:=0; for i:=1 to length(edit1.text) do // jedes Zeichen des satzes durchgehen begin if edit1.text[i] in ['a','e','i','o','u'] then vokale:=vokale+1; // wenn ein Vokal, dann eins Hochzählen //konsonanten zählen if edit1.Text[i] in ['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z'] then konsonanten:=konsonanten+1; // wenn kosonant, dann eins hochzählen end; label2.caption:=inttostr(konsonanten); // ausgeben label1.caption:=inttostr(vokale); // ausgeben end; |
Re: Vokale Zählen
Mein Englisch geht so sag ich mal und Schleifen und if anweisungen hab ich schon gehört und in der Schule auch sogar schonmal benutzt nur eben viel zu selten wie ich sehe sorry.
|
Re: Vokale Zählen
Zitat:
ich gebe Dir recht. Aber trotzdem poste ich hier mal meine Lösung. Wichtig ist: Die Funktionalität ist von der GUI (OnClick getrennt). Leider machen diesen schweren Fehler immer noch viel zu viele. Dann habe ich versucht das ganze so offen wie nur möglich zu halten. Es geht dabei einfach darum verschiedene "Char-Arten" zu zählen. Diese "Arten" sind einfach in den Records eines Arrays definiert. Was man damit macht ist aufgabe des Entwicklers ;-)
Delphi-Quellcode:
type
TCharCountInfo = record Chars: set of Char; Counter: Cardinal; end; function CountCharTypes(const aString: string; var CharTypes: array of TCharCountInfo): Cardinal; var ndx1: Integer; ndx2: Integer; CharCount: Cardinal; CountString: string; begin CountString := aString; CharCount := 0; for ndx1 := 0 to Length(aString) do begin for ndx2 := Low(CharTypes) to High(CharTypes) do begin if (aString[ndx1] in CharTypes[ndx2].Chars) then begin Inc(CharTypes[ndx2].Counter); Inc(CharCount); end; end; end; result := CharCount; end; procedure TDemoForm.btn_testClick(Sender: TObject); var myCharTypes: array[1..6] of TCharCountInfo; s: string; count: Integer; begin myCharTypes[1].Chars := ['a'..'z'] - ['a', 'e', 'i', 'o', 'u']; myCharTypes[1].Counter := 0; myCharTypes[2].Chars := ['a', 'e', 'i', 'o', 'u']; myCharTypes[2].Counter := 0; myCharTypes[3].Chars := ['A'..'Z'] - ['A', 'E', 'I', 'O', 'U']; myCharTypes[3].Counter := 0; myCharTypes[4].Chars := ['A', 'E', 'I', 'O', 'U']; myCharTypes[4].Counter := 0; myCharTypes[5].Chars := ['ö', 'ü', 'ä', 'ß']; myCharTypes[5].Counter := 0; myCharTypes[6].Chars := ['Ö', 'Ü', 'Ä']; myCharTypes[6].Counter := 0; s := 'qwaeiouäöüßÄÖÜQWR'; count := CountCharTypes(s, myCharTypes); Label1.Caption := Format('Es wurden %d Zeichen gezählt', [count]); Label2.Caption := Format('davon waren %d Zeichen in myCharTypes[1]', [myCharTypes[1].Counter]); Label3.Caption := Format('davon waren %d Zeichen in myCharTypes[2]', [myCharTypes[2].Counter]); Label4.Caption := Format('davon waren %d Zeichen in myCharTypes[3]', [myCharTypes[3].Counter]); Label5.Caption := Format('davon waren %d Zeichen in myCharTypes[4]', [myCharTypes[4].Counter]); Label6.Caption := Format('davon waren %d Zeichen in myCharTypes[5]', [myCharTypes[5].Counter]); Label7.Caption := Format('davon waren %d Zeichen in myCharTypes[6]', [myCharTypes[6].Counter]); end; |
Re: Vokale Zählen
Danke Sharky ist echt nett gemeint von dir aber soviel verständniss darfst du von mir da nicht erwarten das ich das verstehe sorry.ich kenn die grundfunktionen ja nichtmal richtig wie ich bemerkt hatte. s soll was ganz einfaches sein meinte mein Lehrer aber ich versteh es trozdem irgendwie nicht sorry.
|
Re: Vokale Zählen
Nun hab ich das so gemacht aber es geht irgendwie trozdem nicht
[delphi]unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) eingabe: TEdit; vokale: TLabel; Label2: TLabel; ausgabevokale: TEdit; ausgabekonsonanten: TEdit; zaehlen: TButton; schliessen: TButton; procedure zaehlenClick(Sender: TObject); procedure schliessenClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation var satz:string; procedure TForm1.BtnZaehlenClick(Sender: TObject); var i: Integer; VokNum, KonstNum: Integer; Satz: string; begin VokNum := 0; KonstNum := 0; // Groß-/Kleinschreibung ignorieren Satz := AnsiLowerCase(EdtSatz.Text); for i := 1 to Length(Satz) do begin if Satz[i] in ['a', 'e', 'i', 'o', 'u'] then inc(VokNum) else inc(KonstNum); end; LblVokNum.Caption := IntToStr(VokNum); LblKonstNum.Caption := IntToStr(KonstNum); end; |
Re: Vokale Zählen
@SirThornberry: Meine Lösung beachtet Groß- und Kleinschreibung.
|
Re: Vokale Zählen
Zitat:
Delphi-Quellcode:
du definierst jedes zeichen außer die Vokale als Konsonanten, aber auch Leerzeichen und Satzzeichen sind zeichen.
for i := 1 to Length(Satz) do
begin if Satz[i] in ['a', 'e', 'i', 'o', 'u'] then inc(VokNum) else inc(KonstNum); end; sonst finde ich keinen Fehler |
Re: Vokale Zählen
Hast du dem Ereignis OnClick bei deinem Button auch die Methode zaehlenClick zugewiesen?
|
Re: Vokale Zählen
definiere einmal bitte "es geht nicht" genauer....
|
Re: Vokale Zählen
Das habe ich nun,ob es so richtig sein kann weiß ich selbst noch nicht.Wollte Eure meinung dazu mal lesen.
Delphi-Quellcode:
[edit=sakura] [delphi]-Tag geschlossen! Mfg, sakura[/edit]
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) eingabe: TEdit; vokale: TLabel; Label2: TLabel; ausgabevokale: TEdit; ausgabekonsonanten: TEdit; zaehlen: TButton; schliessen: TButton; procedure zaehlenClick(Sender: TObject); procedure schliessenClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation var satz:string; procedure TForm1.BtnZaehlenClick(Sender: TObject); var i: Integer; VokNum, KonstNum: Integer; Satz: string; begin VokNum := 0; KonstNum := 0; // Groß-/Kleinschreibung ignorieren Satz := AnsiLowerCase(EdtSatz.Text); procedure TForm1.zaehlenClick(Sender: TObject); begin vokal:=0; konsonant:=0; for i:=1 to length(satz) do if (satz[i]='a') or (satz[i]='e') or (satz[i]='i') or (satz[i]='u') or (satz[i]='o') then inc(vokal; else inc(konsonant); end; LblVokNum.Caption := IntToStr(VokNum); LblKonstNum.Caption := IntToStr(KonstNum); end; |
Re: Vokale Zählen
erstens: wenn du quelltext postest, dann nutze bitte den button "Delphi-Code" hier oben um den Quelltext richtig zu formatieren, damit er schön lesbar ist, danke!
Delphi-Quellcode:
So funktioniert es, da waren ein Haufen kleine Fehler drin. Wenn du kompilierst dann wirft dir der Compiler Meldungen aus. Wenn du diese nachverfolgst und einen nach dem anderen behebst, gelangst du auch allein ans Ziel.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; EdtSatz: TEdit; LblVokNum: TLabel; LblKonstNum: TLabel; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i: Integer; vokal, KonstNum: Integer; Satz: String; begin vokal := 0; KonstNum := 0; // Groß-/Kleinschreibung ignorieren Satz := AnsiLowerCase(EdtSatz.Text); vokal :=0; KonstNum :=0; for i:=1 to length(satz) do if (satz[i] in ['a', 'e', 'i', 'u', 'o']) then inc(vokal) else inc(KonstNum); LblVokNum.Caption := IntToStr(vokal); LblKonstNum.Caption := IntToStr(KonstNum); end; end. Programmieren ist nun mal eine Tätigkeit die Geduld und Aufmerksamkeit abfordert. |
Re: Vokale Zählen
Danke dir computer-glossar.de. ich schau mir das eben mal an
|
Re: Vokale Zählen
Delphi-Quellcode:
durchlaufen wir mal den Satz: " Hallo du! " mit dem code:
....
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; vokal, KonstNum: Integer; Satz: String; begin vokal := 0; KonstNum := 0; // Groß-/Kleinschreibung ignorieren Satz := AnsiLowerCase(EdtSatz.Text); vokal :=0; KonstNum :=0; for i:=1 to length(satz) do if (satz[i] in ['a', 'e', 'i', 'u', 'o']) then inc(vokal) else inc(KonstNum); LblVokNum.Caption := IntToStr(vokal); LblKonstNum.Caption := IntToStr(KonstNum); end; .... dann erkennt er 3 x Vokal: a o u aber er erkennt 6x Konsonat: H L L Leerzeichen D ! der fehler ist Hier:
Delphi-Quellcode:
jedes Zeichen was kein Vokal ist, ist ein Konsonant.
if (satz[i] in ['a', 'e', 'i', 'u', 'o']) then
inc(vokal) else inc(KonstNum); das müsste so aussehen:
Delphi-Quellcode:
if (satz[i] in ['a', 'e', 'i', 'u', 'o']) then
inc(vokal) else if satz[i] in ['a'..'z'] then inc(KonstNum); |
Re: Vokale Zählen
Delphi-Quellcode:
auf diese Art kannst du nun noch die sonderzeichen herausbekommen.
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer; vokal, KonstNum, sonderzeichen: Integer; Satz: String; begin vokal := 0; KonstNum := 0; sonderzeichen := 0; // Groß-/Kleinschreibung ignorieren Satz := AnsiLowerCase(EdtSatz.Text); // jedes Zeichen des Satzes prüfen: for i:=1 to length(satz) do // prüfen ob wir einen Buchstaben haben: if (satz[i] in ['a'..'z']) then begin // unterscheiden zwischen vokalen und Konsonanten if (satz[i] in ['a', 'e', 'i', 'u', 'o']) then inc(vokal) else inc(KonstNum); end else inc(sonderzeichen); LblVokNum.Caption := IntToStr(vokal); LblKonstNum.Caption := IntToStr(KonstNum); LblSonderzeichen.Caption := IntToStr(sonderzeichen); end; |
Re: Vokale Zählen
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; EdtSatz: TEdit; LblVokNum: TLabel; LblKonstNum: TLabel; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i: Integer; vokal, KonstNum: Integer; Satz: String; begin vokal := 0; KonstNum := 0; // Groß-/Kleinschreibung ignorieren Satz := AnsiLowerCase(EdtSatz.Text); vokal :=0; KonstNum :=0; for i:=1 to length(satz) do if (satz[i] in ['a', 'e', 'i', 'u', 'o']) then inc(vokal) else if satz[i] in ['a'..'z'] then inc(KonstNum); LblVokNum.Caption := IntToStr(vokal); LblKonstNum.Caption := IntToStr(KonstNum); end; end. So sollte es funktionieren? |
Re: Vokale Zählen
Noch ein Tip:
Es ist sinnvoll solche Aufgaben auf mehrere Prozeduren und auch Funktionen zu verteilen. Denn dann ist der Code viel übersichtlicher, du kannst eine einmal programmierte Prozedur oder Funktion immer wieder verwenden und Fehler sind leichter auszumerzen. Dazu ein Beispiel: Diese Prozedur gibt zu jedem ihr übergebenen Satz die Anzahl von Konsonanten und Vokalen zurück:
Delphi-Quellcode:
In deinem Projekt könntest du diese jetzt beliebig oft aufrufen, ohne alles nochmal tippen zu müssen. Aufgerufen würde sie beispielsweise so:
procedure ZaehleVokUndKons(pSatz: String; var pnVok, pnKons: Integer);
var i:integer; begin pnVok := 0; pnKons := 0; for i:=1 to length(pSatz) do begin if (pSatz[i] in ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']) then inc(pnVok) else if (pSatz[i] in ['a'..'z', 'A'..'Z']) then inc(pnKons); end; end;
Delphi-Quellcode:
Noch besser wäre aber auch die Überprüfung, ob es sich bei einem Buchstaben um Vokale oder Konsonanten handelt auch "auszulagern", dazu bieten sich Funktionen an. Dann sähre das ganze so aus:
procedure TForm1.Button1Click(Sender: TObject);
var nVok, nKons: integer; begin ZaehleVokUndKons(edit1.text, nVok, nKons); edit2.text := inttostr(nVok); edit3.text := inttostr(nKons) end;
Delphi-Quellcode:
Der Aufruf ist der selbe, wie oben.
function istVokal(pChar: Char): Boolean;
begin if pChar in ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'] then result := true else result := false; end; function istKonsonant(pChar: Char): Boolean; begin if (pChar in ['a'..'z', 'A'..'Z']) and (not isVowel(pChar)) then result := true else result := false; end; procedure ZaehleVokUndKons(pSatz: String; var pnVok, pnKons: Integer); var i:integer; begin pnVok := 0; pnKons := 0; for i:=1 to length(pSatz) do begin if istVokal(pSatz[i] )then inc(pnVok) else if istKonsonant(pSatz[i]) then inc(pnKons); end; end; Mir hat sowas früher im sehr geholfen, da ich mich selber auch verbessern wollte. Wenn es dich weniger interessiert dann überseh den Beitrag einfach. :D Edit: Verwirrenden Bezeichner "Konst" in "Kons" geändert. |
Re: Vokale Zählen
@userF
Es kam nun ein paar Mal, aber nimm doch bitte endlich mal die Delphi-Tags im Forum zur Hilfe, denn so ist dein QT absolut unleserlich formatiert und nimmt viel Lust an der Hilfe! ;) air |
Re: Vokale Zählen
@TheAn00bis
ich denke mal wenn du die postings hier verfolgt hast, wirst du gesehen haben das er blutiger anfänger ist und sicher froh ist wenn er es erst einmal ohne auslagern von methoden hinbekommt. |
Re: Vokale Zählen
Zitat:
Ohne die vielen hilfsbereiten Nutzer hier, die mir gezeigt haben, wie ich Sachen hätte besser machen können würde ich heute bestimmt vieles sehr umständlich programmieren. Schule kann sowas doch kaum vermitteln, denn im Unterricht kommt es in erster Line auf Grundlegende Prinzipien an. (OOP, dann Datenstruckturen, dann Visualisierung via UML und das Umsetzungen der Darstellung etc.) |
Re: Vokale Zählen
ok, da geb ich dir recht.
wenns fürn unterricht ist, beeindruckt das sicherlich auch noch den lehrer :thumb: |
Re: Vokale Zählen
TheAn00bis Danke für deine Überlegungen, für mich ist aber das einfachste schon echt schwer genug sorry. Ich brauch nur ein einfache kleines Programm schreiben welches mir die Konsonaten zählt und damit bin ich ja schon maßlos überfordert wie ich sehen muss. Selbst wenn ich den CODE Editieren will und oben auf Delphi Code klicke dazu schaff ich es nichtmal Euch den vernünftig zu zeigen.Ich geb mir alle Mühe aber ich bin da wohl zu doof dafür sorry
|
Re: Vokale Zählen
Liste der Anhänge anzeigen (Anzahl: 1)
deinen quelltext markieren, dann einfach auf diesen knopf klicken:
|
Re: Vokale Zählen
Sorry ich hatte das genau falsch rum gemacht.erst delphi Code geklickt und dann den Quelltext eingefügt. Werd es ab nun beachten sorry an alle nochmal
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz