DATA
10 отговора
0 прегледа
DATA
В Бейсик има оператор DATA, с който може да се записват различни типове данни и после последователно да се изчитат, напр.:
DATA March, 31, 45, April, 30, 66 и т.н.
После това се чете последователно.
Как най-удачно може да се реализира с Делфи?
DATA March, 31, 45, April, 30, 66 и т.н.
После това се чете последователно.
Как най-удачно може да се реализира с Делфи?
Re: VarArray
Да кажем, че го направя:
Unit
Variants
Syntax
[Delphi] function VarArrayCreate(var Bounds: array of Integer; AVarType: Word): Variant;
За VarType избирам varVariant, нали? Обаче после как да го пълня, ако изходните данни, подобни на примера, са 3-4 реда?
Идеята е да ги въведа в сорса, после програмата си ги чете последователно, за да начертае някаква повърхност примерно и повече не се използват.
Unit
Variants
Syntax
[Delphi] function VarArrayCreate(var Bounds: array of Integer; AVarType: Word): Variant;
За VarType избирам varVariant, нали? Обаче после как да го пълня, ако изходните данни, подобни на примера, са 3-4 реда?
Идеята е да ги въведа в сорса, после програмата си ги чете последователно, за да начертае някаква повърхност примерно и повече не се използват.
Ако искаш интерпретатор, що не си полваш Бейсика?
Ако искаш интерпретатор, що не си полваш Бейсика?
Паскал е строго типизиран език и е извращение да ползваш variant.
Колегите са ти отоговорили конкретно на въпроса, но ако споделиш малко повече за идеите си - ще може по-точно да ти се отговори.
Ако предварително знаеш (както се вижда) типа на данните - най-добре да си направиш констанет масив от тип record:
Паскал е строго типизиран език и е извращение да ползваш variant.
Колегите са ти отоговорили конкретно на въпроса, но ако споделиш малко повече за идеите си - ще може по-точно да ти се отговори.
Ако предварително знаеш (както се вижда) типа на данните - най-добре да си направиш констанет масив от тип record:
type
pOneField = ^TOneField;
TOneField = record
InVal : tInVal; // (tivNone, tivHex, tivChr, tivBoo, tivDec);
CreateVal : tCreateVal; // (tcvNone, tcvBoo, tcvChr, tcvFix, tcvFlo);
Pos : integer;
Size : integer;
end;
const
cMsrIMF_Fields: array[0..3] of TOneField =
{ 0 F1 } (( InVal: tivHex; CreateVal: tcvFlo; Pos: 3; Size: 2),
{ 1 F2 } ( InVal: tivHex; CreateVal: tcvFlo; Pos: 5; Size: 2),
{ 2 F3 } ( InVal: tivHex; CreateVal: tcvFlo; Pos: 7; Size: 2),
{ 3 Asym } ( InVal: tivHex; CreateVal: tcvFlo; Pos: 9; Size: 2));
Редактирано от NikB на
Re: Ако искаш интерпретатор, що не си полваш Бейсика?
Благодаря на отзовалите се! Не искам интерпретатор. Почнах да уча как се прави графика с Делфи и единствено намерих стара книга, на която примерите са на Бейсик и някои от тях завършват с по няколко реда с DATA. И предположих, че макар и строго типизиран, Паскал има някакъв подобен оператор и ще мога лесно да ги тествам на Делфи. Ако някой знае за някаква книга за графика на Паскал/Делфи (с изключение на Марко Канту - снабдих се с нея), където да се описват формулите за чертане и с примери, ще съм благодарен да сподели. Също и как се програмират игри пак на Паскал/Делфи със стратегиите (примерно имаше мин-макс стратегия с поне 2 разновидности и доста други). Имаше за последното много хубава книга на С, ама докато се кандисам и свърши.
Re: Ако искаш интерпретатор, що не си полваш Бейси
Вече ти дадоха пример (variant), но какъвто и механизъм да има в Делфи, тая техника с нетипизираните променливи интерпретира данните в момента на изпълнението, което не е добре за производителността.
Re: Ако искаш интерпретатор, що не си полваш Бейсика?
Данните за чертане на графики обикновено са някакви координати (числа). Използвай масиви - те могат да бъдат статични и динамични, могат и да са константни.
Mixy
Mixy
Re: Ако искаш интерпретатор, що не си полваш Бейсика?
Графиката с Delphi е базирана на използването на TPoint и масиви от него (виж примерите от хелпа за Polyline, Rectangle и т.н.), така че няма нужда да измисляш наново велосипеда.
Чертаенето на графика е интересна наука, един начален поглед може да те вдъхнови: [линк]
Ако пък си решил да правиш игри с GUI графика просто чети Mastering Delphi - освен самото чертане там е чудесно показан и интерфейса към тази графика - запис/зареждане, влачене и т.н.
чети и дишай по-леко
Чертаенето на графика е интересна наука, един начален поглед може да те вдъхнови: [линк]
Ако пък си решил да правиш игри с GUI графика просто чети Mastering Delphi - освен самото чертане там е чудесно показан и интерфейса към тази графика - запис/зареждане, влачене и т.н.
чети и дишай по-леко