L505 napisaƂ(a):
I'm lacking some memory concept here. Below program doesn't work unless 
setlengths
are called first on the shortstrings.

program Project1;

{$mode objfpc}{$H+}

var
  filename: string;
  last3: string[3];
  last4: string[4];
this is not short strings
use
last3: shortstring[3];


begin
  filename:= 'test';
  filename:= filename+ 'ing.pas';
  setlength(last3, 3);
  last3[1]:= filename[length(filename)-2];
  last3[2]:= filename[length(filename)-1];
  last3[3]:= filename[length(filename)];
  writeln('debug last3: ' + last3);
  setlength(last4, 4);
  last4[1]:= filename[length(filename)-3];
  last4[2]:= filename[length(filename)-2];
  last4[3]:= filename[length(filename)-1];
  last4[4]:= filename[length(filename)];
  writeln('debug last4: ' + last4);
  readln;
end.


I'd never have thought to use a setlength on a shortstring???




_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Darek
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to