AGB  ·  Datenschutz  ·  Impressum  







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

Variable in for to do Schleife über I ansprechend

Ein Thema von Dr. Jack · begonnen am 1. Mai 2019 · letzter Beitrag vom 2. Mai 2019
Antwort Antwort
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Variable in for to do Schleife über I ansprechend

  Alt 1. Mai 2019, 13:32
Nach dem die Antworten hier teilweise nach dem Muster "wer findet noch was abgefahreneres um einen Anfänger zu verwirren?" hier noch mein Vorschlag:
Nachdem die Variablen im Speicher ja schön hintereinander liegen - er könnte sich die Adresse von Vk_name1 besorgen, in einen Pointer casten und dann je nach i sich die Adresse ausrechnen und zurück casten.
Das hat noch den riesen Vorteil, dass er seine Deklarationnicht anpassen muss.

Im Ernst: offensichtlich ist Dr. Jack ein Anfänger der gerade mal weiß was eine Schleife ist aber noch nichts von Arrays gehört hat. Da würde ich jetzt nicht schon Klassen, Records und noch höheres vorschlagen sondern nur array alleine

Also statt
Delphi-Quellcode:
Vk_name1, vk_preis1,
Vk_name2, vk_preis2:String

For I:=1 to 3 do begin

Machwas := vk_name(I)
dann

Delphi-Quellcode:
vk_name: array[1..3]: String;
vk_preis: array[1..3]: String;

For I:=1 to 3 do begin
Machwas := vk_name[I];
end;
Klar, hat das noch ein riesiges Verbesserungspotential. Aber so hat Dr. Jack ein Erfolgserlebnis, weiterhin Spass an Delphi und lernt dann gerne weiter.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#2

AW: Variable in for to do Schleife über I ansprechend

  Alt 1. Mai 2019, 13:41
Man kann es auch ganz pragmatisch machen und eine Funktion deklarieren, wobei der restliche Code unverändert bleibt:

Delphi-Quellcode:
function vk_name(Index: Integer): string;
begin
  case Index of
    1: result := vk_name1;
    2: result := vk_name2;
  else
    raise ERangeError.Create('invalid Index');
  end;
end;
Das wäre z.B. auch die bevorzugte Herangehensweise, wenn die Variablendeklaration nicht verändert werden kann.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Variable in for to do Schleife über I ansprechend

  Alt 1. Mai 2019, 13:48
Hallo,
ähem,
i von 1 bis 3 und es gibt für 3 keine entsprechende Variable???

Die Richtung zum Array finde ich schon richtig. .
Heiko
  Mit Zitat antworten Zitat
Dr. Jack

Registriert seit: 17. Mär 2010
78 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#4

AW: Variable in for to do Schleife über I ansprechend

  Alt 1. Mai 2019, 14:17
Hallo,
ähem,
i von 1 bis 3 und es gibt für 3 keine entsprechende Variable???

Die Richtung zum Array finde ich schon richtig. .
Es gibt ca 30 Variablen. Erster Durchlauf Artikel 1 mit seinen Parametern also Preis Lagerort etc ...das wird mit 3 Durchläufen anschließend in eine DB geschrieben
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Variable in for to do Schleife über I ansprechend

  Alt 1. Mai 2019, 23:28
Hallo,
dann kürze Deine Variablen und nimm ein Array.
Heiko
  Mit Zitat antworten Zitat
Jumpy

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

AW: Variable in for to do Schleife über I ansprechend

  Alt 2. Mai 2019, 08:12
Es gibt ca 30 Variablen. Erster Durchlauf Artikel 1 mit seinen Parametern also Preis Lagerort etc ...das wird mit 3 Durchläufen anschließend in eine DB geschrieben
Das klingt aber schon so, als ob der TE sich einmal mit OOP befassen sollte. Ein "Artikel mit seinen Parametern" ist doch ein Paradebeispiel für ein Objekt mit seinen Attributen.
Ralph
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Variable in for to do Schleife über I ansprechend

  Alt 2. Mai 2019, 08:50
Hallo,
ich würde erst mal mit einem Array anfangen.
Dann sehe ich auch den Inhalt des Arrays bei "überwachte Ausdrücke" (Strg+F5).
Heiko
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.045 Beiträge
 
Delphi 12 Athens
 
#8

AW: Variable in for to do Schleife über I ansprechend

  Alt 2. Mai 2019, 17:18
Es gibt ca 30 Variablen. Erster Durchlauf Artikel 1 mit seinen Parametern also Preis Lagerort etc ...das wird mit 3 Durchläufen anschließend in eine DB geschrieben
Das klingt aber schon so, als ob der TE sich einmal mit OOP befassen sollte. Ein "Artikel mit seinen Parametern" ist doch ein Paradebeispiel für ein Objekt mit seinen Attributen.
Ja das klingt so. Es gibt ja vom Delphi Treff ein deutsches Einführungsheftchen da steht schon einiges drin.
Nur einen Kritikpunkt an dem hatte ich damals, als ich es mal in den Fingern hatte (über einen Studenten):
Das Kapitel über Dateiverarbeitung war doch sehr altbacke. File etc. statt TStringListe oder TStream etc.
  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 17: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-2025 by Thomas Breitkreuz