AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Liste von Namen auf Charakteristiken überprüfen
Thema durchsuchen
Ansicht
Themen-Optionen

Liste von Namen auf Charakteristiken überprüfen

Ein Thema von diavy · begonnen am 18. Sep 2012 · letzter Beitrag vom 21. Sep 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Liste von Namen auf Charakteristiken überprüfen

  Alt 18. Sep 2012, 17:42
"if if" ist aber auch zuviel des Guten (SCNR^^)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: Liste von Namen auf Charakteristiken überprüfen

  Alt 18. Sep 2012, 17:45
Oh man, wird Zeit nach Haus zu gehen

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
diavy

Registriert seit: 11. Apr 2012
54 Beiträge
 
#13

AW: Liste von Namen auf Charakteristiken überprüfen

  Alt 21. Sep 2012, 16:30
Tut mir leid dass ich so lange gebraucht habe um zu antworten, mir ist einiges dazwischen bekommen.

Zunächst einen großen Dank an euch alle, wiedermal gab es schnelle, viele und vor allem sehr nützliche Antworten.

Ich habe versucht mir so viel als mögliche Ratschläge zu Herzen zu nehmen und das hat sich mehr als ausgezahlt, da der Code übersichtlicher wurde, und vor allem jetzt hinhaut.

Hier mein jetziger Code (wenn es noch Dinge auszusetzen gibten, lass es mich wissen):

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    edt_name: TEdit;
    Label1: TLabel;
    Button1: TButton;
    edt_start: TEdit;
    lbl_name: TLabel;
    lbl_letter: TLabel;
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    i,counter:integer;firstname:array of string;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function checkifstarting(a,b:string):boolean;
var i:integer;
begin
result:=true;
for i:=1 to Length(a) do
                if a[i]<>b[i] then result:=false;
end;

function checkifwithout(a,b:string):boolean;
var i,k:integer;
begin
result:=true;
for i:=1 to Length(a) do
                for k:=1 to Length(b) do
                        if a[i]=b[k] then result:=false;
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
var l:integer;
begin
Label1.Caption:='';
for l:=low(firstname) to high(firstname) do
        if checkifstarting(edt_start.Text,firstname[l])=true then Label1.Caption:=Label1.Caption + ' ' + firstname[l]
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
var l:integer;
begin
label1.Caption:='';
for l:=low(firstname) to high(firstname) do
        if checkifwithout(edt_start.Text,firstname[l])=true then Label1.Caption:=Label1.Caption + ' ' + firstname[l]
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if counter <>0 then inc(i);
SetLength(firstname,i+1);
firstname[i]:=edt_name.Text;
edt_name.text:='';
inc(counter);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
i:=0;
counter:=0;
end;

end.
Eine Frage stelle ich mir noch, wenn ich zB ein Mal das Programm mit 4 Namen benutze, und ein ander Mal 2 Namen verwende, habe ich ja eigentlich nur die 2 ersten Plätze im Array neu "belegt". Wenn ich dann auf den array zugreifen lasse zB mit high(array), hat das Programm dann nicht noch die 2 weiteren Namen (die nicht überschrieben wurden) gespeichert und greift auf diese zu obwohl sie nicht zu dem Zeitpunkt eingegeben wurden?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Liste von Namen auf Charakteristiken überprüfen

  Alt 21. Sep 2012, 16:55
Eine Frage stelle ich mir noch, wenn ich zB ein Mal das Programm mit 4 Namen benutze, und ein ander Mal 2 Namen verwende, habe ich ja eigentlich nur die 2 ersten Plätze im Array neu "belegt". Wenn ich dann auf den array zugreifen lasse zB mit high(array), hat das Programm dann nicht noch die 2 weiteren Namen (die nicht überschrieben wurden) gespeichert und greift auf diese zu obwohl sie nicht zu dem Zeitpunkt eingegeben wurden?
Äh, Ja! Nein!
Hab ich es übersehen, oder fehlt es wirklich, woher sollen denn die Inhalte für Firstname/Name kommen?
Es ist Deine Sache, ob Du vor dem Füllen des Arrays, erst einmal eine Löschung durchführst und ggf in einer Variablen die maximale Belegung zu finden ist.

Wenn Du im weitesten Sinne mit Text umgehen willst, kann ich Dir nur die Stringlist/Strings empfehlen.
(meiner Meinung nach die letzte echte Innovation)

Warum muß jeder für irgendwelche Problemlösungen mindestens ein Array am besten noch ein dyn. Array benutzen??????

Es wäre nicht schlecht wenn Du Dir das Formatieren Deines Quelltextes angewöhnen könntest. Der kann dadurch nur gewinnen, und im allg. ist er dann auch schneller zu erfassen.

Gruß
K-H

P.S.
ich weiß, daß die Stringlist im innersten ein Array of pointer ist, und da soll er auch bleiben.
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (21. Sep 2012 um 16:58 Uhr)
  Mit Zitat antworten Zitat
diavy

Registriert seit: 11. Apr 2012
54 Beiträge
 
#15

AW: Liste von Namen auf Charakteristiken überprüfen

  Alt 21. Sep 2012, 19:51
Der Wert wird mit "procedure TForm1.Button1Click(Sender: TObject);" gegeben.

Und meine Befürchtung hat sich nicht bestätigt, der Array wird zurückgesetzt.

Das mit Stringlist/String werde ich mal googlen.

Was ist denn so verstörend an einem dynamischen Array?

Und das tu ich wie?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 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