AGB  ·  Datenschutz  ·  Impressum  







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

Delphi Schulprogramm Hilfe

Ein Thema von HilfeBeiDelphi · begonnen am 22. Dez 2016 · letzter Beitrag vom 23. Dez 2016
Antwort Antwort
a.def
(Gast)

n/a Beiträge
 
#1

AW: Delphi Schulprogramm Hilfe

  Alt 22. Dez 2016, 17:43
Hausaufgaben werden hier generell nicht für Schüler erledigt.
Statt die komplette Unit zu posten wäre es wesentlich sinnvoller erst einmal die fehlerhafte(n) Stelle(n) zu finden und diese zu Posten.

Aber wenn ich nicht ganz doof bin, dann stimmt hier doch etwas nicht
Delphi-Quellcode:
 SetLength(Feld, AnzahlPatienten-1);
 for i := 0 to AnzahlPatienten do
  Feld[i] := TPerson.Create;
Wenn AnzahlPatienten=5 dann
- setzt du das Array Feld auf Länge AnzahlPatienten-1, also 4
und
- iterierst durch Feld von 0 bis AnzahlPatienten, [0, 1, 2, 3, 4, 5].

Findest du den Fehler selber?

Geändert von a.def (22. Dez 2016 um 17:46 Uhr)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Delphi Schulprogramm Hilfe

  Alt 22. Dez 2016, 17:48
Nun, was er eigentlich sagen wollte:
Willkommen in der DP.
Die obige Aussage zum Thema "Hausaufgabenhilfe" ist im Kern richtig. Wir wünschen uns, dass der Fragesteller doch präziser wird. Das fängt damit an, dass das Ziel beschrieben sowie die bisherige Lösung skizziert wird. Was dann von unserer Seite aus folgen kann ist eine Hilfe zur Selbsthilfe.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#3

AW: Delphi Schulprogramm Hilfe

  Alt 22. Dez 2016, 17:48
Willkommen in der DP.
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

AW: Delphi Schulprogramm Hilfe

  Alt 22. Dez 2016, 19:31
Length (egal, ob beim Setzen mit Setlength oder nur beim Auslesen mit length) ist nunmal eins mehr bzw. größer als der größt(möglich)e Index, weil die 0 mitzählt. Das entspricht eigentlich nicht unserer anerzogenen Zähl- und letztlich Denkweise und erfordert deshalb immer und immer wieder ein "mentales Jonglieren", ein Umrechnen. Aber das ist ja in bezug auf das Binär- und Hexadezimalsystem genauso.

Ergänzung: In dieser Hinsicht sind statische Arrays deutlich bequemer: Nicht nur enspricht das deklarierte Maximum dem größt(möglich)en Index, sondern man kann zudem bei der unteren Grenze mit einem anderen Wert als 0 beginnen.

Geändert von Delphi-Laie (22. Dez 2016 um 22:46 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#5

AW: Delphi Schulprogramm Hilfe

  Alt 22. Dez 2016, 19:34
Er hat da etwas mit SetLength und der Schleife durcheinander gebracht.
Es ist nicht das SetLength sondern die Schleife bei welcher -1 geschrieben werden muss.

Denn was würde denn logischerweise das hier ergeben
Delphi-Quellcode:
AnzahlPatienten := 1;
SetLength(Feld, AnzahlPatienten - 1);
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#6

AW: Delphi Schulprogramm Hilfe

  Alt 22. Dez 2016, 21:43
Ich durchlaufe meine Arrays gewohnheitsmäßig von Low() bis High(), da juckt es mich nicht im Geringsten, ob es sich um ein statisches oder dynamisches Array handelt. Seit ich mir das angewöhnt habe, programmiere ich irgendwie entspannter.
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
a.def
(Gast)

n/a Beiträge
 
#7

AW: Delphi Schulprogramm Hilfe

  Alt 23. Dez 2016, 18:56
Gibt es irgendwelche Neuigkeiten?
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:38 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