AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Adressbuch mit Stringgrid.

Ein Thema von GroZ · begonnen am 6. Aug 2015 · letzter Beitrag vom 10. Aug 2015
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#1

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 14:30
Solche und weitere Fragen werden dir in den oben vorgestellten Video-Tutorials beantwortet.
Die Produktionsqualität ist für Delphi-Tutorials auf Youtube schon erstaunlich gut, aber ich weiß nicht ob ich mehr als eine halbe Stunde am Stück aushalten würde. Das hat so seine Längen, ein etwas kürzer geschnittenes* Format wäre imho angenehmer.
Aber gut, das ist wohl etwas OT und es ist schön, das es überhaupt Material gibt

* ~10-15min mit je einem einigermaßen griffigem Thema/Titel. Zum Beispiel muss man nicht zugucken, wie du durch deine Ordner navigierst.

Geändert von BUG ( 6. Aug 2015 um 14:35 Uhr)
  Mit Zitat antworten Zitat
GroZ

Registriert seit: 6. Jul 2015
Ort: Harz
167 Beiträge
 
Delphi 7 Personal
 
#2

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 15:28
Habs hingekriegt!

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Grids, StdCtrls, ComCtrls, Menus;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Name: TLabeledEdit;
    Alter: TLabeledEdit;
    Wohnort: TLabeledEdit;
    Tel: TLabeledEdit;
    HinzuBtn: TButton;
    LoeschenBtn: TButton;
    AdresseGrid: TStringGrid;
    BeendenBtn: TButton;
    MonthCalendar1: TMonthCalendar;
    Panel3: TPanel;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Speichern1: TMenuItem;
    Speichernunter1: TMenuItem;
    Nochnichtfertig1: TMenuItem;
    Schlieen1: TMenuItem;
    procedure BeendenBtnClick(Sender: TObject);
    procedure HinzuBtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure LoeschenBtnClick(Sender: TObject);
    procedure Schlieen1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Name, Wohnort: string;
  Alter, Tel: integer;

implementation

{$R *.dfm}

procedure TForm1.BeendenBtnClick(Sender: TObject);
begin
//sleep(1000);
close;
end;

procedure TForm1.HinzuBtnClick(Sender: TObject);
var i : integer;
begin
  for i := 0 to AdresseGrid.RowCount-1 do // Name
  begin
    if AdresseGrid.Cells[1, i] = 'then
    begin
      AdresseGrid.Cells[1, i] := Name.Text;
      break;
    end;
end;

begin
  for i := 0 to AdresseGrid.RowCount-1 do
  begin
    if AdresseGrid.Cells[2, i] = 'then // Alter
    begin
      AdresseGrid.Cells[2, i] := Alter.Text;
      break;
    end;
end;

begin
  for i := 0 to AdresseGrid.RowCount-1 do
  begin
    if AdresseGrid.Cells[3, i] = 'then
    begin // Wohnort
      AdresseGrid.Cells[3, i] := Wohnort.Text;
      break;
    end;
end;

begin
  for i := 0 to AdresseGrid.RowCount-1 do
  begin
    if AdresseGrid.Cells[4, i] = 'then // Tel. Nummer
    begin
      AdresseGrid.Cells[4, i] := Tel.Text;
      break;
    end;

end;
end;
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;

begin
  AdresseGrid.Refresh;
  AdresseGrid.ColWidths[0] := 25;
  AdresseGrid.Cells[1,0]:= 'Name';
  AdresseGrid.Cells[2,0]:= 'Alter';
  AdresseGrid.Cells[3,0]:= 'Wohnort';
  AdresseGrid.Cells[4,0]:= 'Telefon';
    for i := 1 to 20 do
    begin
      AdresseGrid.Cells[0,i]:= IntToStr(i);
    end;
end;

procedure TForm1.LoeschenBtnClick(Sender: TObject);
begin
  Name.Clear;
  Alter.Clear;
  Wohnort.Clear;
  Tel.Clear;
end;

procedure TForm1.Schlieen1Click(Sender: TObject);
begin
close;
end;

end.
Stufe 2: Speichern und Laden
Julian
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 15:56
Deine Hinzufügen Funktion ist nicht nur unperformant (da du die selbe Schleife mehrfach ausführst sondern auch gefährlich.
Hast du z.B. 4 Zeilen, aber in der 4. keine Alter angegeben, und fügst jetzt einen neuen Datensatz hinzu, dann werden Name, Ort und Tel in Zeile 5 geschrieben, Alter aber in Zeile 4, weil das die erste Zeile ist in der Spalte Alter leer ist. Besser wäre so:

Delphi-Quellcode:
procedure TForm1.HinzuBtnClick(Sender: TObject);
var CurrentRow:Integer
begin
  CurrentRow:=GetFirstEmptyRow
  AdresseGrid.Cells[1, CurrentRow] := Name.Text;
  AdresseGrid.Cells[2, CurrentRow] := Alter.Text;
  AdresseGrid.Cells[3, CurrentRow] := Wohnort.Text;
  AdresseGrid.Cells[4, CurrentRow] := Tel.Text;
end;

function TForm1.GetFirstEmptyRow:Integer;
begin
  Result:=0;
  for i := 1 to AdresseGrid.RowCount-1 do
    if AdresseGrid.Cells[1, i] = 'then
      begin
      Result:=i;
      break;
      end;
  if Result=0 then
    begin
    // AdresseGrid.AddRow //oder wie auch immer man eine Zeile anfügt
    Result:=AdresseGrid.RowCount-1;
    end;
end;
Noch schöner aber wie gesagt, die eigentlichen Daten einer Person in einem Objekt/Record halten und alle diese Objekte/Records dann in einer (Objekt-)Liste/Array,...
Ralph
  Mit Zitat antworten Zitat
GroZ

Registriert seit: 6. Jul 2015
Ort: Harz
167 Beiträge
 
Delphi 7 Personal
 
#4

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 16:03
Naja das der Code sehr unvorteilhaft ist hab ich selber schon gemerkt. Aber man lernt ja mit der Zeit bin eig ganz zufrieden so wie es jetzt grade ist.
PS: Das Problem ist mir selber auch schon aufgefallen aber das kommt dann erst in Version 2.0
Julian
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 16:12
Noch schöner aber wie gesagt, die eigentlichen Daten einer Person in einem Objekt/Record halten und alle diese Objekte/Records dann in einer (Objekt-)Liste/Array,...
Genau das erkläre ich ausführlich im Video-Tutorial: Arbeiten mit Records und typisierten Dateien, Ansicht in einem Stringgrid, hinzufügen, ändern und löschen von Adress-Datensätzen usw. Und wem das als Anfänger zu viel ist oder wer sich nicht für einen blutigen Anfänger hält oder nicht dafür gehalten werden will, dem genügen vermutlich auch die jeweiligen Quellcodes, die unterhalb der Videos verlinkt sind.

Leider kommt es wie hier sehr häufig vor, daß Anfänger weder Online-Hilfe noch Tutorials bemühen wollen, sondern glauben, durch einfaches Drauflosprogrammieren zum Ziel gelangen zu können. Letzteres ist meiner Erfahrung nach noch niemandem gelungen. In der Zeit, in der der TE sich hier vergeblich abmüht, die Antworten zu begreifen, um dann doch wieder irgendwas zu coden, das er nicht wirklich versteht, hätte er schon zwei oder drei Teile des 5teiligen Video-Tutorials durcharbeiten und den hilfsbereiten Usern nervliche Belastung ersparen können. Leider kenne ich dieses sture Verhalten auch von Kunden, die uralte Komponenten und Konzepte beibehalten wollen und nicht bereit sind, strukturelle Fehler ihrer Software zu beseitigen (kürzlich hatte ich einen, dessen Code knapp eine Million undokumentierte Codezeilen beinhaltet und beim Kompilieren hunderte von Hinweisen und Warnungen erzeugt, kein Witz) und dann rummeckern, wenn Änderungen, die sie nicht mehr selbst in der Lage sind zu bewältigen, viel Zeit und Geld in Anspruch nehmen. Da ist letzendlich jegliche Mühe vergeblich ... und am Ende wird man nicht mal bezahlt und muß auch noch einen Anwalt bemühen ...
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#6

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 16:22
Erst einmal mit den visuellen Komponenten herumzuspielen und ein paar schnelle Erfolge zu haben ist auch nicht so verkehrt
Den Schrott den ich früher zusammenprogrammiert habe ... da wäre eine Adressverwaltung deutlich sinnvoller gewesen.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 17:26
Die Produktionsqualität ist für Delphi-Tutorials auf Youtube schon erstaunlich gut, ...
Immerhin, wenigstens etwas, wenn schon das Tutorial nix taugt, nicht wahr

... aber ich weiß nicht ob ich mehr als eine halbe Stunde am Stück aushalten würde.
Verlangt das denn jemand von dir? Also mir ist das egal, wie lange du durchhalten würdest oder ob du vorspulst oder gleich mit Teil 2 beginnst, weil du das in Teil 1 bereits alles weißt. Achso, ich vergaß, ich hab die Tutorials ja extra für dich gemacht, nicht wahr

Das hat so seine Längen, ein etwas kürzer geschnittenes Format wäre imho angenehmer.
Es steht dir frei, dir die Videos herunterzuladen und zu kürzen, wie es dir gefällt. Es steht dir auch frei, Kopien dieser Videos unter Angabe der Quelle wieder bei Youtube zu veröffentlichen. Ebenso steht es dir frei, selbst Video-Tutorials zu erstellen und bei Youtube hochzuladen. Oder glaubst du wirklich, mich interessiert das alles? Oder erwartest du etwa, daß ich die Videos jetzt extra für dich noch einmal überarbeite? Mach mal selber eins, dann weißt du, wovon du redest.

Aber gut, das ist wohl etwas OT und es ist schön, das es überhaupt Material gibt
Ist es in der Tat. Ich habe die Video-Tutorials nicht hier angeführt, um sie von dir durch den Kakao ziehen zu lassen, sondern um dem TE sowie anderen Anfängern einen Einstieg anzubieten. Du jedoch schreckst die Leute davon ab, aus welchen Gründen auch immer, ich will deine Motive nicht wirklich wissen.

10-15min mit je einem einigermaßen griffigem Thema/Titel. Zum Beispiel muss man nicht zugucken, wie du durch deine Ordner navigierst.
Und du weißt natürlich ganz genau, welchen Kenntnisstand ich beim Rezipienten voraussetzen darf, nicht wahr
Es steht dir frei, vorzuspulen, wenn du dich langweilst. Noch einmal: ich habe die Videos nicht deinen speziellen Bedürfnissen, die mir zum Zeitpunkt der Aufnahme übrigens vollkommen unbekannt waren, entsprechend erstellt. Falls ich weitere Videos aufnehme, werde ich das weiterhin so machen, wie ich es für richtig halte (außer du zahlst dafür, dann strenge ich mich auch etwas an und lasse mir von dir vorschreiben, wie ich Videos zu gestalten habe). Ich bin kein Profi und es kommt mir vor allem darauf an, den gewünschten Inhalt rüberzubringen und nicht, ein hollywoodreifes Filmdebut zu geben. Es sind Amateurvideos!

Geändert von Perlsau ( 6. Aug 2015 um 17:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#8

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 18:11
Ich wollte nur ein wenig Feedback von jemand geben, der deutlich zu viel Zeit auf Youtube verbringt; manchmal kann ein anderer Blickwinkel ja nicht schaden.
Videozeug/Audiozeug ist schwer, viel Arbeit und ich weiß wie schrecklich mein Material ist/wäre; und wie gesagt, das hier zählt definitiv zu den besseren Videos in der Sparte.

Zum Inhalt wollte ich kein Feedback geben, dafür habe ich deutlich zu wenig davon nachvollzogen.



Ich bitte um Entschuldigung, wenn das zu abwertend rübergekommen ist
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#9

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 18:53
Zum Inhalt wollte ich kein Feedback geben, dafür habe ich deutlich zu wenig davon nachvollzogen.
Genau das hast du jedoch gemacht Du hast den Inhalt heruntergemacht, nachdem du dir die ersten paar Minuten angeschaut hast.

Ich bitte um Entschuldigung, wenn das zu abwertend rübergekommen ist
Ist es; Entschuldigung akzeptiert.

Geändert von Perlsau ( 6. Aug 2015 um 18:57 Uhr)
  Mit Zitat antworten Zitat
GroZ

Registriert seit: 6. Jul 2015
Ort: Harz
167 Beiträge
 
Delphi 7 Personal
 
#10

AW: Adressbuch mit Stringgrid.

  Alt 7. Aug 2015, 08:12
Ich habe vor mir 3 verschiedene Bücher liegen wovon ich bereits 2 durchgearbeitet habe. Ich befasse mich seit 1 Woche mit Delphi jeden Tag (Arbeit). Dafür das ich vor 1 woche nichtmal nen Kreis konnte find ich schon das ich nen gutes Level habe.
Das lernen mit der Zeit kommt sowieso.
Jetzt lese ich mir http://www.delphi-treff.de/tipps-tri...ern-und-laden/
das hier zum Thema speichern durch damit das auch klappt.
Julian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:07 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 by Thomas Breitkreuz