Funktionen und Prozeduren
Moin zusammen,
zurzeit bearbeite ich wiedermal eine Projektaufgabe, die viele Prozeduren und Funktionen beinhaltet. Die Aufgabenstellung bereitet mir schon Schwierigkeiten. Bin noch Anfänger und die gesamte Aufgabe erscheint mir ziemlich schwer und unübersichtlich. Ich weiß gar nicht wo ich anfangen soll... Kann mir wer bei diesem Abschnitt behilflich sein? 1. Eine Funktion, die eine Kommentarzeile verwirft, d.h. überspringt.
Delphi-Quellcode:
2. Eine Prozedur, die Groß- und Kleinschreibung ignoriert.
function Verwerfe_Kommentarzeile(s:string):boolean; // überspringt die Kommentarzeile
var return_wert:boolean; position:integer; begin If (s[1]='/') and (s[2]='/') then // Ist der Ansatz richtig?? result=true; else result=false; end;
Delphi-Quellcode:
3. Eine Prozedur, die Kommentare an bestimmten Positionen verwirft, d.h löscht.
procedure erlaube_gross_Kleinschreibung(var s:string);
begin s:=uppercase(s); // Großschreibung end;
Delphi-Quellcode:
4. Eine Prozedur, die führende Leerzeichen löscht.
procedure bereinige_Datensatz_von_Kommentaren(var s:string);
// löscht im Datensatz den folgenden Kommentar var position:integer; begin end;
Delphi-Quellcode:
procedure loesche_fuehrende_Leerzeichen(var s:string);
begin while s[1]= '' do // Passt das so? delete (s,1,1); end; |
AW: Funktionen und Prozeduren
hi,
so richtig versteh ich nicht, aber schau mal in der Hilfe nach unter: Aufgabe 1: POS (geht aber auch so) Aufgabe 2: ??? Aufgabe 3: POS und COPY Aufgabe 4: TRIM Grüße |
AW: Funktionen und Prozeduren
Ich weiß ja nicht wer die Funktions-/Prozedur-Namen vergeben hat, aber die Funktionen passen nicht zur Benennung.
Diese Funktion verwirft oder überspringt keine Kommentarzeile, sondern prüft, ob es sich um eine Kommentarzeile handelt. Der Name ist also verwirrend und sollte daher auf
Delphi-Quellcode:
geändert werden - oder die Funktion macht nicht das, was sie eigentlich machen soll ;)
function Ist_Kommentarzeile( const s : string ) : Boolean;
Zitat:
Aktuell macht diese Prozedur nichts von alledem, sondern wandelt alle Zeichen in Großbuchstaben um. Zitat:
Zitat:
Zitat:
|
AW: Funktionen und Prozeduren
Zitat:
zu 2. Die Prozedur soll Groß-und Kleinschreibung ignorieren bzw. erlauben! Wie mach ich das?? zu 3. Auch hier weiß ich nicht wirklich was dort stehen muss. zu 4. JUHU! :-D |
AW: Funktionen und Prozeduren
Nein kann ich nicht - und auch niemand sonst hier ...
denn es fehlen noch ein paar wichtige Informationen. Das was du bislang hier an Informationen gegeben hast, scheint mir nur das linke Ohr vom Eisbären zu sein ;) |
AW: Funktionen und Prozeduren
Zitat:
Nehmen wir die 2 Groß/Kleinschreibung Soll Groß/Kleinschreibung ignoriert werden dann tu nichts, oder soll Groß- und Kleinschreibung zu Groß- oder (excl.) Klein-Schreibung übersetzt werden? Dann solltest du Großbuchstaben zu Kleinbuchstaben übersetzen. Bei Klein zu Groß fällt das ß unter den Tisch. 3)
Delphi-Quellcode:
und wie geht's mit dieser Zeile weiter? (Leerzeile, Blanks...)
position:=pos('//',satz);
Und in 4 frag Dich mal was passiert wenn Du eine Leerzeile übergibst (length()=0) Gruß K-H |
AW: Funktionen und Prozeduren
Ok, danke soweit!
Ich werde morgen dann die Aufgabe mit den Infos reinstellen und mehr Quelltext, damit auch ersichtlich ist, was gemeint ist. |
AW: Funktionen und Prozeduren
Zitat:
*peng* Wo es kein erstes Zeichen gibt, da kann man nicht darauf zugreifen. Aber was ich dir dringend empfehlen würde: Eine "ordentlichere" Codeformatierung, vorallem bezüglich deiner grauenhaften Einrückung. |
AW: Funktionen und Prozeduren
Zitat:
Er schreibt doch
Delphi-Quellcode:
und nicht
s[1] = ''
Delphi-Quellcode:
oder mache ich hier aufgrund der späten Stunde (und eines Glases Noilly Prat) einen Denkfehler?
s[1] = ' '
Ansonsten aber, wie schon erwähnt, der Hinweis auf
Delphi-Quellcode:
, wenn auch Steuerzeichen entfernt werden sollen/dürfen
Trim(Left)
|
AW: Funktionen und Prozeduren
Zitat:
*) wie schon gesagt wurde, passt der Name nicht zur Verwendung; wenn ich es richtig verstehe, dann sollte die Funktion *Soll_die_Zeile_verworfen_werden* heissen. *) die Variablen sind unnotwendig *) der übergebene String wird nicht auf seine Größe geprüft *) die Logik kann man kürzer formulieren. *) die Parameterübergabe mit string kann man optimieren *) den Parameter kann man ebenso sprechend benamsen wie eine Variable ;-) z.B.
Delphi-Quellcode:
HTH
function Soll_die_Zeile_verworfen_werden(const AZeile: string): Boolean;
begin Result := ((2 <= Length(AZeile)) and ('/' = AZeile[1]) and ('/' = AZeile[2])); // oder Result := (1 = Pos('//', AZeile)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz