Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Geht das mit dieser If then abfrage einfacher? (https://www.delphipraxis.net/160884-geht-das-mit-dieser-if-then-abfrage-einfacher.html)

BBoy 6. Jun 2011 12:40

Geht das mit dieser If then abfrage einfacher?
 
In meinem Programm wird ein String erstellt bei dem alle 5 hinzugekommenen Elementen ein Zeilenumbruch stattfinden soll.
Derzeit löse ich das so:
Delphi-Quellcode:
    karten_beschriftung := karten_beschriftung + leftstr('('+inttostr(i)+')'+copy(cname,0,20),26);
    if i = 5 then
      karten_beschriftung := karten_beschriftung + chr(13);
    if i = 10 then
      karten_beschriftung := karten_beschriftung + chr(13);
    if i = 15 then
      karten_beschriftung := karten_beschriftung + chr(13);
    if i = 20 then
      karten_beschriftung := karten_beschriftung + chr(13);
    if i = 25 then
      karten_beschriftung := karten_beschriftung + chr(13);
    if i = 30 then
      karten_beschriftung := karten_beschriftung + chr(13);
    if i = 35 then
      karten_beschriftung := karten_beschriftung + chr(13);
    if i = 40 then
      karten_beschriftung := karten_beschriftung + chr(13);
    if i = 45 then
      karten_beschriftung := karten_beschriftung + chr(13);
    if i = 50 then
      karten_beschriftung := karten_beschriftung + chr(13);
Geht das nicht einfacher mit einer formel oder so?

DeddyH 6. Jun 2011 12:42

AW: Geht das mit dieser If then abfrage einfacher?
 
Du suchst Delphi-Referenz durchsuchenMOD.

Klaus01 6. Jun 2011 12:43

AW: Geht das mit dieser If then abfrage einfacher?
 
Hallo,

vielleicht so:

Delphi-Quellcode:
if (i >=5) and (i <= 50) and (i mod 5 = 0) then
Grüße
Klaus

BBoy 6. Jun 2011 13:05

AW: Geht das mit dieser If then abfrage einfacher?
 
Wusste doch das es da was gibt. Danke, funktioniert prima :)

himitsu 6. Jun 2011 13:19

AW: Geht das mit dieser If then abfrage einfacher?
 
Delphi-Quellcode:
if (i = 5) or (i = 10) or ... or (i = 50) then
  karten_beschrift := ...
:stupid:


oder
Delphi-Quellcode:
if i in [5, 10, 15, 20, 25, 30, 35, 40, 45, 50] then
  karten_beschriftung := karten_beschriftung + sLineBreak;
Delphi-Quellcode:
chr(13)
- Ein Zeilenumbruch ist in Windows typischer Weite #13#10 oder #10 (Linux), aber es gibt dafür eine Konstante Delphi-Referenz durchsuchensLineBreak, welche sich an das Zielsystem anpasst.

Zitat:

copy(cname,0,20)
String-Indize fangen bei 1 an. :warn:

PS: Ist i ein Sekunden/Minuten-Wert?
Und sicher, daß du die 0 und 55 auslassen willst?
Wenn ja und nein, dann einfach nur
Delphi-Quellcode:
if i mod 5 = 0 then
.

BBoy 6. Jun 2011 13:27

AW: Geht das mit dieser If then abfrage einfacher?
 
Delphi-Quellcode:
if i mod 5 = 0 then
Das reicht mir. Und danke für den Hinweis mit slinebreak;


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:31 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