Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > кодировка и типы данных (Delphi 2009)


Автор: stalkerok 6.12.2008, 18:45
Типы данных какие они стали?
вместо string теперь использовать PCair?

раньше например
Код

Type
NameGridRec = record
 ncell: String[255];
end;


теперь
Код

Type
NameGridRec = record
 ncell: PChar;
end;


Правильно?

а работа с GridList
что каждый раз переводить в Pchair

а функции перевода inttostr и strtoint остались?

и почемуто всё это затронуло и OpenGL

Вот пример вывода текста
Код

procedure OutText (Litera : PChar);
begin
  glListBase(GLF_START_LIST);
  glCallLists(Length (Litera), GL_UNSIGNED_BYTE, Litera);
end;


соответсвенно выводит какието квадратики

Автор: MetalFan 6.12.2008, 23:00
Цитата(stalkerok @  6.12.2008,  18:45 Найти цитируемый пост)
Типы данных какие они стали?
вместо string теперь использовать PCair?

что сказал? сам то понял?
Цитата(stalkerok @  6.12.2008,  18:45 Найти цитируемый пост)
Правильно?

неправильно. хоть бы в хелп заглянул

Автор: stalkerok 6.12.2008, 23:55
а можно на примере:
нужен массив из записей типа:

Код

Type
nameRec = record
 id:integer;
 name:string[255];
 x:integer;
 y:integer;
end;

var
ArrName: array of nameRec;


массив будет сохраняться и загружаться из файла и самое главное будет возможность редпктирование его в GriDEdit т.е.  до этого всё работало в 2007 как же избавится от квадратиков, обрезания строчек и каракуль?

Автор: MetalFan 7.12.2008, 10:48
Цитата(stalkerok @  6.12.2008,  23:55 Найти цитируемый пост)
ак же избавится от квадратиков, обрезания строчек и каракуль? 

не вижу примеров кода, которые выводят "квадратиков, обрезания строчек и каракуль" на исходных данных...

Автор: CodeMonkey 7.12.2008, 13:47
Случайно спрашиваете не про Search&Replace по коду String -> AnsiString, Char -> AnsiChar?

Автор: stalkerok 9.12.2008, 11:46
CodeMonkey Нет, всё получилось действительно надо было правильно поставить типы данных,
но я так и не понял если String стал AnsiString то как использовать в записи
Код

Type
NameGridRec = record
 ncell: String[255];
end;

учитывая что массив типа NameGridRec  будет сохраняться в файл,

и почему показывается предупреждение
Implicit string cast with potential data loss from 'string' to 'AnsiString'
Implicit string cast from 'AnsiString' to 'string'

Код

var
  f: AnsiString;
begin
f:=Edit1.Text;
Edit1.Text:= f;

неужели надо
Код

f:=AnsiString(Edit1.Text);
Edit1.Text:=String( f );


Автор: lukas 10.12.2008, 20:46
Код

f:=AnsiString(Edit1.Text);


Если я не ошибаюсь, то это лишнее... У меня все без преобразований работает.

Автор: stalkerok 10.12.2008, 21:56
Работает и без преобразований только предупреждение показывает описанное двумя постами выше

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)