Copy(.. / mit 2 Parameter

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Mathias
Beiträge: 6918
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Copy(.. / mit 2 Parameter

Beitrag von Mathias »

Ich habe zufällig unter Linux den 3. Parameter von Copy vergessen, mein Programm kompilierte und lief ohne Fehler.
Unter Windows gab es einen Syntaxfehler.

Code: Alles auswählen

var
  s1: string;
begin
  s1 := 'abcdef';
  ShowMessage(Copy(s1, 3));
end;
Liegt das an Windows, oder ist dies, weil ich unter Linux FPC 3.1.1 installiert habe. Windows hat nur 2.6.4.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 10873
Registriert: Mo 11. Sep 2006, 19:01

Re: Copy(.. / mit 2 Parameter

Beitrag von theo »

Wurde in Rev 22575 eingeführt.
http://bugs.freepascal.org/view.php?id=22964

Mathias
Beiträge: 6918
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Copy(.. / mit 2 Parameter

Beitrag von Mathias »

Somit kann ich dies verwenden, ohne das ich Angst muss haben, das es wieder entfernt wird.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Andromeda
Beiträge: 120
Registriert: So 4. Jan 2015, 20:18

Re: Copy(.. / mit 2 Parameter

Beitrag von Andromeda »

Hallo,

mit dem 3. Parameter gibt man die Anzahl der Zeichen an, also beispielsweise

Code: Alles auswählen

 
var
  s1: string;
begin
  s1 := 'abcdef';
  ShowMessage(Copy(s1, 3, 3));
end;
 
ergibt: "cde"

Benutzeravatar
theo
Beiträge: 10873
Registriert: Mo 11. Sep 2006, 19:01

Re: Copy(.. / mit 2 Parameter

Beitrag von theo »

Andromeda hat geschrieben: mit dem 3. Parameter gibt man die Anzahl der Zeichen an, also beispielsweise
Ja, Danke. :roll:
Bitte versucht doch wenigstens die Frage zu verstehen, bevor ihr antwortet.

Mathias
Beiträge: 6918
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Copy(.. / mit 2 Parameter

Beitrag von Mathias »

mit dem 3. Parameter gibt man die Anzahl der Zeichen an, also beispielsweise
Was machst du, wen du z.B. ab dem 3. Zeichen bis zum Rest des Stringes kopieren willst ?

Code: Alles auswählen

var
  s1: string;
begin
  s1 := 'abcdef';
  ShowMessage(Copy(s1, 3, Lenght(s1) - 2));
  ShowMessage(Copy(s1, 3)); // neue Variante
end;
Somit hast du es mit 2 Parameter viel einfacher. :wink:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

BeniBela
Beiträge: 320
Registriert: Sa 21. Mär 2009, 17:31
OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
CPU-Target: 64 Bit

Re: Copy(.. / mit 2 Parameter

Beitrag von BeniBela »

Vor 5 Jahren habe ich mir dafür ne eigene Funktion geschrieben


Hoffentlich wird 3.x bald stable. 2.x kann man bei Strings ja in die Tonne treten

Mathias
Beiträge: 6918
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Copy(.. / mit 2 Parameter

Beitrag von Mathias »

2.x kann man bei Strings ja in die Tonne treten
Was hat es sonst noch für Verbesserungen, ausser das UTF8-Zeugs ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten