-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
11. Apr 2009
Toms ist aufgefallen, dass etwas fehlt, daher: Code Käse und gelöscht. :( Danke toms!
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
9. Apr 2009
@Himitsu: Dein Codevorschlag ist hervorragend!
Und wenn ich die Constanten und Variablen global deklariere, dann wird die Funktion tatsächlich langsamer. Ich habe nur noch ca. 10 ms mit meinen kleinen Änderungen rausholen können!
Code von Himitsu:
Function CheckStr2(Const S: String): TStringTyp;
Const ZiffernSet = ;
ZeichenSet = ;
Var i: Integer;
ZiffernFlag,...
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
9. Apr 2009
@hoika Darum auch ein eindeutige Namen, die man wohl nicht 2x verwendet: z. B. Checkstr_i
Es bleibt Dir überlassen, was Du machst. Hier wird niemand gezwungen. :zwinker:
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
9. Apr 2009
Interessante Idee. Das werd ich mal probieren. Danke.
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
8. Apr 2009
Wie gesagt, nehme den globalen Var-Abschnitt und kopiere diesen lokal in CheckStr rein und führe dann das Programm aus. Es benötigt länger.
Meckern tut Delphi bei mir auch, das stört mich nicht weiter, solange compiliert wird.
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
8. Apr 2009
@himitsu
Nehme den Var Abschnitt in die Funktion Checkstr mit rein, also lokal. 1000000 mal die Variablen neu angelegen beim Aufruf der Funktion kostet Zeit. Probiere es mal aus. Ein "Minimal-Profiler" ist ja mit dabei.
Ja. Sieht so aus. Ein globales i als For-Schleifenvariable würde ich nie nehmen, daher der Zusatz CheckStr_ beim CheckStr_i.
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
8. Apr 2009
Hallo, himitsu. Danke. Dürfte ein paar Millisekunden sparen.
Opps, ein paar Millisekunden? Das Programm benötigt fast nur noch die Hälfte der Zeit!
Super Tipp! :cheer:
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
8. Apr 2009
Hallo, hier meine Version mit Includes und einem "Profiling".
Natürlich kann man andere Zeichen mit einfügen, oder die Funktion um ein IsFloat, IsInKlammern etc. ergänzen. Inwieweit dies sinnvoll ist, kommt auf den Einsatzzweck an.
Hier der "Profiler", simpel gestrickt, als Include: "Profiler.inc":
// Date: 08.04.2009
// File: Profiler.inc
//Variablen
var Profiler_StartWert,...
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
4. Apr 2009
@hobbyprogrammierer
Consolenprogramm verwende ich nur zum Testen von Routinen und sind kurz und schnell erstellt.
Dein Code sieht auf dem ersten Blick schön aus, ich bekomme ihn wegen vieler Fehler nicht zu laufen. Wie geht es richtig?
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
3. Apr 2009
@Jheins
Dann gibt die Funktion als Antwort:
"Achtung, falsche Zeichen übergeben. Bitte korrigieren Sie Ihre Eingabe. Danke." :-D
Erweitere die Funktion selbst:
ZeichenSet:=; // ;-)
Voilá! Das wars.
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
3. Apr 2009
Vorläufige Endversion, Dank Eurer Hilfe, meiner Funktion:
program test;
{$APPTYPE CONSOLE}
uses SysUtils;
// Dies ist unser ErgebnisTyp:
type r=(Leer,Ziffer,Zeichen,AlphaNum);
function CheckStr(Str:string):r;
type typ=set of Char;
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
3. Apr 2009
@jfheins
Die Lösung ist ja interessant, unabhängig davon, das immer 1 als Ergebnis gezeigt wird.
Insbesondere hier ein Beispiel für die Verwendung von Include.
Hier der Code (von jfheins) lauffähig mit den/dem Fehler/n:
program test3;
{$APPTYPE CONSOLE}
uses SysUtils;
// Dies ist unser ErgebnisTyp:
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
3. Apr 2009
@fkerber
Danke, war schon oft Thema in der DP. Ändere ich. Danke!
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
3. Apr 2009
Danke Luckie für die schnelle Antwort!
Ich ist für mich ein wenig schwer, dies umzusetzen, aber ich glaube zu verstehen was Du meinst:
program test;
{$APPTYPE CONSOLE}
uses SysUtils;
// Dies ist unser ErgebnisTyp:
type r=(Leer,Ziffer,Zeichen,AlphaNum);
-
Forum: Sonstige Fragen zu Delphi
Delphi
by Go2EITS,
3. Apr 2009
Hallo,
ich habe mal Isalpha, IsNum, IsString als eine Funktion ausgeführt, die bei einem Aufruf mit einem String mit Ziffern eine 1, bei Zeichen eine 2 und bei Ziffern und Zeichen eine 3 liefert.
Code als Consolenprogramm:
program TestCheckStr;
{$APPTYPE CONSOLE}
uses SysUtils;
function CheckStr(Str:string):Byte;
var i:Integer;