Форум: "Начинающим";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
ВнизINI, меню и др. Найти похожие ветки
← →
Skandri (2006-04-12 01:17) [0]1. Есть INI-шник:
[Name1]
Points=130
Frags=12
[Name1]
Points=156
Frags=16
[Name1]
Points=30
Frags=2
Собственно надо сделать таблицу рекрдов (Имя, Очки, Фраги). В чем это лучше осуществить и как?
2. Есть меню. В нем пункт "Сложность" и от него три уровня. Как чтобы при нажатии на какой-то уровень появлялась галочка или точечка..ну как обычно в играх простеньких...
3. Можно ли сделать прозрачность формы? Чтообы отображались только компненты на форме.
4. Можно ли сделать форму с кривыми границами?
← →
Германн © (2006-04-12 02:13) [1]
> Собственно надо сделать таблицу рекрдов (Имя, Очки, Фраги).
> В чем это лучше осуществить и как?
В том, где тебе удобнее, и так, как тебе удобнее.
← →
Rial © (2006-04-12 02:18) [2]1.а) Странный INI-шник: с чего это имена секций-то совпадают ?
Name1,Name1,Name1 ...
1.б) В смысле как данные из файла лучше читать(I), или на экран выводить(II)?
I. ИМХО, если формат такой простой, то лучше без инишки читать.
Кстати, инишка получится, видимо, большая, поэтому выводи элементы не по одному.
II. А StringGrid уже не в моде ? Хотя, по-моуму, лучше за Canvas-ить хотябы. Для красоты.
2. Для этих кнопочек трех .Visible:=False;
При эом что- нибудь другое .Visible:=True;
До этого оно должно быть неведимым.
Но лучше создание новой игры - в отдельную форму, при выборе сложности ее закрывать и дальше работать на главной.
3.И зачем это ?
Обычно если очень надо, то с этих пользователь бедный разбирается.
4.
function BitmapToRgn(Image: TBitmap): HRGN;
Var TmpRgn:HRGN;
W,H,X,Y:Integer;
ConsecutivePixels:Integer;
CurrentPixel:TColor;
CurrentColor:TColor;
begin
With Image do begin
W:=Width;
H:=Height;
end;
Result:=CreateRectRgn(0,0,W,H);
If (W=0)or(H=0) then Exit;
For Y:=0 to H-1 do begin
CurrentColor:=Image.Canvas.Pixels[0,Y];
ConsecutivePixels:=1;
For X:=0 to W-1 do begin
CurrentPixel:=Image.Canvas.Pixels[X,Y];
If (CurrentColor=CurrentPixel) then Inc(ConsecutivePixels)
else
begin // Входим в новую зону
If (CurrentColor=clWhite) then begin
TmpRgn:=CreateRectRgn(X-ConsecutivePixels,Y,X,Y+1);
CombineRgn(Result,Result,TmpRgn,RGN_DIFF);
DeleteObject(TmpRgn);
end;
CurrentColor:=CurrentPixel;
ConsecutivePixels:=1;
end;
end;
If (CurrentColor=clWhite)and(ConsecutivePixels>0) then begin
TmpRgn:=CreateRectRgn(W-ConsecutivePixels,Y,W,Y+1);
CombineRgn(Result,Result,TmpRgn,RGN_DIFF);
DeleteObject(TmpRgn);
end;
end;
end;
//Где-то в отбработчике создания ...
procedure TStartupForm.FormCreate(Sender: TObject);
begin
SetWindowRgn(Handle,BitmapToRgn(Bitmap),True);
end;
← →
Джо © (2006-04-12 02:19) [3]1. TIniFile.
2. TMenuItem.Checked
3. а) FormStyle = bsNone, TransparentColor = True, TransparentColorValue = прозрачный_цвет.
б) SetWindowRgn и Region functions in Windows SDK.
4. SetWindowRgn и Region functions in Windows SDK.
← →
Джо © (2006-04-12 02:20) [4]> FormStyle
BorderStyle
← →
Skandri (2006-04-12 03:04) [5]Спасибо. Имена секций перепутал там 1,2,3. Приведите пжлста пример, как это сделать, как обратиться отдельно к имени секции, параметру и значению параметра? А всего 10 их name-ов. Так что небольшой.
← →
Германн © (2006-04-12 03:28) [6]ReadInteger("Section","Value",...
← →
Skandri (2006-04-12 03:44) [7]
> ReadInteger("Section","Value",...
Ну это то понятно. А как в том же grid. В 2,1:???(Section), в 1,2:???(Value), а в 2,2:???(значение параметра). Как бы таблицей. Как отдельно секцию например счиать?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.015 c