Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];

Вниз

Пишу Твикер Для Windows!!   Найти похожие ветки 

 
Zhenka   (2003-02-17 07:42) [0]

Подскажите алгоритм сохранения изменений, сд-х в программе,
Не проверять же На БаттонКлик Чекед Итем В лист бокас или нет,ведь Итемсов, кмк и лист боксов хватает,или можно какнибудь подругому??
Спасибо.


 
RV   (2003-02-17 08:39) [1]

я делал таблицу
клик/выбор значения - изменяем байтик
по выходу - бежим по таблице, делаем/не делаем в соответствии с ней изменения, сохраняем таблицу



 
Zhenka   (2003-02-17 08:46) [2]

Не понял,поподробнее


 
RV   (2003-02-17 09:38) [3]

массив байтов. каждый за что-то отвечает. при каком-либо изменении - изменяем соответствующе соответствующий байт(слово).
если юзер делает _применить, бежим по таблице и делаем изменения.
сохранить значения можно сохранив массив
+
можно сохранять настройки разных вариантов
есть откат (загружаем старую таблицу)


 
Zhenka   (2003-02-17 15:43) [4]

Есть ли ещё мнения по сабжу??


 
Ketmar   (2003-02-17 16:29) [5]

КУДА сохранения?

Satanas Nobiscum! 17-Feb-XXXVIII A.S.


 
Zhenka   (2003-02-17 16:39) [6]

В реестр надо сохр. данные, но делать так
+По кнопке 1 жать, Проверяются все итемсы Чек бокса На Чекед\нечекед, и в зависимости от этого зап-я Значение
Пример
==================
begin
Reestr.RootKey:=HKEY_CURRENT_USER;
//rescent docs
If CheckListBox1.Checked[0]=true then
begin
Reestr.OpenKey("Software\Microsoft\Windows\CurrentVersion\Policies\Explorer",false);
Reestr.WriteInteger("NoRecentDocsMenu",1);
Reestr.CloseKey;
end
else
begin
Reestr.OpenKey("Software\Microsoft\Windows\CurrentVersion\Policies\Explorer",false);
Reestr.WriteInteger("NoRecentDocsMenu",0);
Reestr.CloseKey;
end;
и так каждый параметр


 
ION T   (2003-02-17 16:57) [7]

Делаешь как сказал RV, в соответсвие его массиву байтов создаешь ещё один массив строк. В строки (массива строк) заталкиваешь комма-делимитед текст с названиями ключей и параметров кот. надо сохранять, ну и потом кой-то ф-ей пробегаешь по этому делу и собственно пишешь в реестр....


 
Zhenka   (2003-02-17 17:03) [8]

Вроде понял, но как сделать?? Не догоняю


 
NetBreaker666   (2003-02-17 17:11) [9]

//StateSaver.pas
unit StateSaver;

interface

uses
Windows, Messages, SysUtils, Classes, Registry, Dialogs, Controls, StdCtrls, ExtCtrls, Buttons, YesOrNoDialog, Menus;
type
TSaverEvent=procedure (Sender:TObject; Target:TComponent; var DoIt:Boolean) of object;

TStateSaver = class(TComponent)
private
{ Private declarations }
RegPath:String;
RegRoot:String;
RegRootHKEY:HKEY;
WTOP, WLEFT, WWIDTH, WHEIGHT, WTAG:Boolean;
WCAPTION, WTEXT, WCOLOR:Boolean;
WEnabled, WVisible, WChecked:Boolean;
_ONNC,_ONNCL:TSaverEvent;
procedure SetRegRoot(S:String);
procedure SetRegRootHKEY(HK:HKEY);
protected

{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
property RegistryRoot:String read RegROOT write SetRegROOT ;
property RegistryRootHKEY:HKey read RegRootHKEY write SetRegRootHKEY default HKEY_CURRENT_USER;
property RegistryPath:String read RegPath write RegPath;
property WriteTop:Boolean read WTOP write WTOP;
property WriteLeft:Boolean read WLeft write WLeft;
property WriteWidth:Boolean read WWIDTH write WWidth;
property WriteHeight:Boolean read WHEIGHT write WHeight;
property WriteCaption:Boolean read WCaption write WCaption;
property WriteText:Boolean read WText write WText;
property WriteColor:boolean read WColor write WColor;
property WriteTag:Boolean read WTAG write WTag;
property WriteEnabled:Boolean read WEnabled write WEnabled;
property WriteVisible:Boolean read WVisible write WVisible;
property WriteChecked:Boolean read WChecked write WChecked;
property OnNewComponentSaving:TSaverEvent read _ONNC write _ONNC;
property OnNewComponentLoading:TSaverEvent read _ONNCL write _ONNCL;
procedure SaveComponentState(C:TComponent; preffix, postfix:String);
procedure LoadComponentState(C:TComponent; preffix, postfix:String);
end;

TUPC=class(TControl)
public
property Color;
property Caption;
property Text;
End;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents("NetBreakers", [TStateSaver]);
end;

procedure TStateSaver.SetRegRoot(S:String);
Begin
S:=UpperCase(S);
if S="HKEY_LOCAL_MACHINE" then
Begin
RegRootHKEY:=HKEY_LOCAL_MACHINE;RegRoot:=S;
Exit;
End;
if S="HKEY_CURRENT_USER" then
Begin
RegRootHKEY:=HKEY_CURRENT_USER;RegRoot:=S;
Exit;
End;
if S="HKEY_CLASSES_ROOT" then
Begin
RegRootHKEY:=HKEY_CLASSES_ROOT;RegRoot:=S;
Exit;
End;

if S="HKEY_USERS" then
Begin
RegRootHKEY:=HKEY_USERS;RegRoot:=S;
Exit;
End;

if S="HKEY_PERFORMANCE_DATA" then
Begin
RegRootHKEY:=HKEY_PERFORMANCE_DATA; RegRoot:=S;
Exit;
End;
if S="HKEY_CURRENT_CONFIG" then
Begin
RegRootHKEY:=HKEY_CURRENT_CONFIG; RegRoot:=S;
Exit;
End;


 
NetBreaker666   (2003-02-17 17:12) [10]

if S="HKEY_DYN_DATA" then
Begin
RegRootHKEY:=HKEY_DYN_DATA;RegRoot:=S;
Exit;
End;

ShowMessage("Invalid registry key.");


End;

procedure TStateSaver.SetRegRootHKEY(HK:HKEY);
Begin
case HK of
HKEY_LOCAL_MACHINE:
Begin
RegRoot:="HKEY_LOCAL_MACHINE";
End;

HKEY_CURRENT_USER:
Begin
RegRoot:="HKEY_CURRENT_USER";
End;

HKEY_CLASSES_ROOT:
Begin
RegRoot:="HKEY_CLASSES_ROOT";
End;

HKEY_USERS:
Begin
RegRoot:="HKEY_USERS";
End;

HKEY_PERFORMANCE_DATA:
Begin
RegRoot:="HKEY_PERFORMANCE_DATA";
End;

HKEY_CURRENT_CONFIG:
Begin
RegRoot:="HKEY_CURRENT_CONFIG";
End;

HKEY_DYN_DATA:
Begin
RegRoot:="HKEY_DYN_DATA";
End;
else Begin
ShowMessage("Unknown registry key.");
Exit;
End;

End;
RegRootHKEY:=HK;

End;

procedure TStateSaver.SaveComponentState(C:TComponent; preffix, postfix:String);
var T:TControl;
R:TRegistry;
I:Integer;
CC:Boolean;
Begin
CC:=True;
if Assigned(_ONNC) then _ONNC(self,C,CC);
if CC then Begin
if C is TControl then Begin
T:=C as TControl;
R:=TRegistry.Create;
R.RootKey:=RegRootHKEY;
if R.OpenKey(RegPath, True)
then Begin
try
if WTOP then R.WriteInteger(preffix+C.GetNamePath+".TOP"+postfix, T.Top);
except
end;
try
if WEnabled then R.WriteBool(preffix+C.GetNamePath+".Enabled"+postfix, T.Enabled);
except
end;
try
if WVisible then R.WriteBool(preffix+C.GetNamePath+".TOP"+postfix, T.Visible);
except
end;

try
if WLEFT then R.WriteInteger(preffix+C.GetNamePath+".LEFT"+postfix, T.Left);
except
end;
try
if WTAG then R.WriteInteger(preffix+C.GetNamePath+".TAG"+postfix, T.Tag);
except
end;
try
if WHEIGHT then R.WriteInteger(preffix+C.GetNamePath+".HEIGHT"+postfix, T.Height);
except
end;
try
if WWIDTH then R.WriteInteger(preffix+C.GetNamePath+".WIDTH"+postfix, T.Width);


 
NetBreaker666   (2003-02-17 17:13) [11]

end;
if WTEXT then Begin
try
R.WriteString(preffix+C.GetNamePath+".Text"+postfix, TUPC(T).Text);
except
try
if T is TCustomEdit then R.WriteString(preffix+C.GetNamePath+".Text"+postfix, TCustomEdit(T).Text);
except
end;
end;
End;
if WCOLOR then Begin
try
R.WriteInteger(preffix+C.GetNamePath+".Color"+postfix,Integer(TUPC(T).color));
except
end;
End;
if WCAPTION then Begin
try
R.WriteString(preffix+C.GetNamePath+".Caption"+postfix, TUPC(T).caption);
except
try
if T is TButton then R.WriteString(preffix+C.GetNamePath+".Caption"+postfix, TButton(T).Caption);
if T is TCustomLabel then R.WriteString(preffix+C.GetNamePath+".caption"+postfix, TCustomLabel(T).Caption);
if T is TCheckBox then R.WriteString(preffix+C.GetNamePath+".Caption"+postfix, TCheckBox(T).Caption);
if T is TRadioButton then R.WriteString(preffix+C.GetNamePath+".Caption"+postfix, TRadioButton(T).Caption);
if T is TGroupBox then R.WriteString(preffix+C.GetNamePath+".Caption"+postfix, TGroupBox(T).Caption);
if T is TRadioGroup then R.WriteString(preffix+C.GetNamePath+".Caption"+postfix, TRadioGroup(T).Caption);
if T is TPanel then R.WriteString(preffix+C.GetNamePath+".Caption"+postfix, TPanel(T).Caption);
if T is TSpeedButton then R.WriteString(preffix+C.GetNamePath+".Caption"+postfix, TSpeedButton(T).Caption);
if T is TStaticText then R.WriteString(preffix+C.GetNamePath+".Caption"+postfix, TStaticText(T).Caption);
except
end;
end;
End;



End else Begin
//ShowMessage("Couldn""t open key ""+RegPath+"".");
Exit;
End;
R.Free;
End else Begin
if C is TYesOrNoDialog then Begin
R:=TRegistry.Create;
R.RootKey:=RegRootHKEY;
if R.OpenKey(RegPath, True)
then Begin


 
NetBreaker666   (2003-02-17 17:13) [12]

if WCaption then R.WriteString(preffix+C.GetNamePath+".Caption"+postfix, TYesOrNoDialog(C).caption);
if WText then R.WriteString(preffix+C.GetNamePath+".Text"+postfix, TYesOrNoDialog(C).Text);
End;
R.Free;
End;
if C is TPopupMenu then Begin
R:=TRegistry.Create;
R.RootKey:=RegRootHKEY;
if R.OpenKey(RegPath, True)
then Begin
for I:=0 to TPopupMenu(C).Items.Count-1 do
Begin
if WCaption then R.WriteString(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Caption"+postfix, TPopupMenu(C).Items[I].caption);
if WEnabled then R.WriteBool(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Enabled"+postfix, TPopupMenu(C).Items[I].Enabled);
if WVisible then R.WriteBool(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Visible"+postfix, TPopupMenu(C).Items[I].Visible);
if WChecked then R.WriteBool(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Checked"+postfix, TPopupMenu(C).Items[I].Checked);
End;
End;
R.Free;
End;

End;

End;
for I:=0 to C.ComponentCount-1 do SaveComponentState(C.Components[i],preffix+C.GetNamePath+".",postfix);
End;

procedure TStateSaver.LoadComponentState(C:TComponent; preffix, postfix:String);
var T:TControl;
R:TRegistry;
I:Integer;
CC:Boolean;
Begin
CC:=True;
if Assigned(_ONNCL) then _ONNCL(self,C,CC);
if CC then Begin
if C is TControl then Begin
T:=C as TControl;
R:=TRegistry.Create;
R.RootKey:=RegRootHKEY;
if R.OpenKey(RegPath, False)
then Begin
try

if WTOP then if R.ValueExists(preffix+C.GetNamePath+".TOP"+postfix) then T.Top:=R.ReadInteger(preffix+C.GetNamePath+".TOP"+postfix);
except
end;
try
if WEnabled then if R.ValueExists(preffix+C.GetNamePath+".Enabled"+postfix) then T.Enabled:=R.ReadBool(preffix+C.GetNamePath+".Enabled"+postfix);
except


 
NetBreaker666   (2003-02-17 17:14) [13]

end;
try
if WVisible then if R.ValueExists(preffix+C.GetNamePath+".TOP"+postfix) then T.Visible:=R.ReadBool(preffix+C.GetNamePath+".TOP"+postfix);
except
end;


try
if WLEFT then if R.ValueExists(preffix+C.GetNamePath+".LEFT"+postfix) then T.Left:=R.ReadInteger(preffix+C.GetNamePath+".LEFT"+postfix);
except
end;
try
if WTAG then if R.ValueExists(preffix+C.GetNamePath+".TAG"+postfix) then T.Tag:=R.ReadInteger(preffix+C.GetNamePath+".TAG"+postfix);
except
end;
try
if WHEIGHT then if R.ValueExists(preffix+C.GetNamePath+".HEIGHT"+postfix) then T.Height:=R.ReadInteger(preffix+C.GetNamePath+".HEIGHT"+postfix);
except
end;
try
if WWIDTH then if R.ValueExists(preffix+C.GetNamePath+".WIDTH"+postfix) then T.Width:=R.ReadInteger(preffix+C.GetNamePath+".WIDTH"+postfix);
except
end;
if WTEXT then if R.ValueExists(preffix+C.GetNamePath+".Text"+postfix) then
Begin
try
TUPC(T).Text:=R.ReadString(preffix+C.GetNamePath+".Text"+postfix);
except
try
if T is TCustomEdit then TCustomEdit(T).Text:=R.ReadString(preffix+C.GetNamePath+".Text"+postfix);
except
end;
end;
End;
if WCOLOR then if R.ValueExists(preffix+C.GetNamePath+".Color"+postfix) then Begin
try
TUPC(T).Color:= R.ReadInteger(preffix+C.GetNamePath+".Color"+postfix);
except
end;
End;
if WCaption then if R.ValueExists(preffix+C.GetNamePath+".Caption"+postfix) then Begin
try
TUPC(T).Caption:=R.ReadString(preffix+C.GetNamePath+".Caption"+postfix);
except
try
if T is TButton then TButton(T).Caption:=R.ReadString(preffix+C.GetNamePath+".Caption"+postfix);
if T is TCustomLabel then TCustomLabel(T).Caption:=R.ReadString(preffix+C.GetNamePath+".caption"+postfix);
if T is TCheckBox then TCheckBox(T).Caption:=R.ReadString(preffix+C.GetNamePath+".Caption"+postfix);
if T is TRadioButton then TRadioButton(T).Caption:=R.ReadString(preffix+C.GetNamePath+".Caption"+postfix);
if T is TGroupBox then TGroupBox(T).Caption:=R.ReadString(preffix+C.GetNamePath+".Caption"+postfix);
if T is TRadioGroup then TRadioGroup(T).Caption:=R.ReadString(preffix+C.GetNamePath+".Caption"+postfix);
if T is TPanel then TPanel(T).Caption:=R.ReadString(preffix+C.GetNamePath+".Caption"+postfix);
if T is TSpeedButton then TSpeedButton(T).Caption:=R.ReadString(preffix+C.GetNamePath+".Caption"+postfix);
if T is TStaticText then TStaticText(T).Caption:=R.ReadString(preffix+C.GetNamePath+".Caption"+postfix);
except
end;

end;

End;


End;
R.Free;
End else Begin


 
NetBreaker666   (2003-02-17 17:14) [14]

if C is TYesOrNoDialog then Begin
R:=TRegistry.Create;
R.RootKey:=RegRootHKEY;
if R.OpenKey(RegPath, False)
then Begin
if WCaption then if R.ValueExists(preffix+C.GetNamePath+".Caption"+postfix) then TYesOrNoDialog(C).caption:=R.ReadString(preffix+C.GetNamePath+".Caption"+postfix);
if WText then if R.ValueExists(preffix+C.GetNamePath+".Text"+postfix) then TYesOrNoDialog(C).text:=R.ReadString(preffix+C.GetNamePath+".Text"+postfix);
End;
R.Free;
End;
if C is TPopupMenu then Begin
R:=TRegistry.Create;
R.RootKey:=RegRootHKEY;
if R.OpenKey(RegPath, True)
then Begin
for I:=0 to TPopupMenu(C).Items.Count-1 do
Begin
if WCaption then if R.ValueExists(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Caption"+postfix) then TPopupMenu(C).Items[I].caption:=R.ReadString(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Caption"+postfix);
if WEnabled then if R.ValueExists(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Enabled"+postfix) then TPopupMenu(C).Items[I].Enabled:=R.ReadBool(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Enabled"+postfix);
if WVisible then if R.ValueExists(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Visible"+postfix) then TPopupMenu(C).Items[I].Visible:=R.ReadBool(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Visible"+postfix);
if WChecked then if R.ValueExists(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Checked"+postfix) then TPopupMenu(C).Items[I].Checked:=R.ReadBool(preffix+C.GetNamePath+".Item["+IntToStr(I)+"].Checked"+postfix);
End;
End;
R.Free;
End;




End;
End;
for I:=0 to C.ComponentCount-1 do LoadComponentState(C.Components[i],preffix+C.GetNamePath+".",postfix);

End;

end.


 
NetBreaker666   (2003-02-17 17:15) [15]

//StateSaver.pas
unit YesOrNoDialog;

interface

uses
Windows, Messages, SysUtils, Classes, Dialogs, Forms;

type
TYesOrNoDialog = class(TComponent)
private
{ Private declarations }
_OnEx:TNotifyEvent;
__SNO:Boolean;
__SC:Boolean;
_Y,_N,_C:Boolean;
_Caption, _Text:String;
procedure SetNo(S:Boolean);
procedure SetCancel(S:Boolean);
protected
{ Protected declarations }

public
{ Public declarations }
property Yes:Boolean read _Y;
property No:Boolean read _N;
property Cancel:Boolean read _C;

published
{ Published declarations }
property ShowNoButton:Boolean read __SNO write SetNo ;
property ShowCancelButton:Boolean read __SC write SetCancel ;
property Caption:String read _Caption write _Caption;
property Text:String read _Text write _Text;
property OnExecute:TNotifyEvent read _OnEx Write _OnEx;
function Execute:Integer;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents("NetBreakers", [TYesOrNoDialog]);
end;
//Voen secret.
// 2301900
Function TYesOrNoDialog.Execute:Integer;
var Hn:THandle;
Begin
Hn:=Application.Handle;
if __SNO and __SC then Begin
Result:=MessageBox(Hn,PChar(text),PChar(Caption),MB_YESNOCANCEL);
_Y:=(Result=6)or(Result=1);
_N:=Result=7;
_C:=REsult=2;
Exit;
End;
if __SNO then Begin
Result:=MessageBox(Hn,PChar(text),PChar(Caption),MB_YESNO);
_Y:=(Result=6)or(Result=1);
_N:=Result=7;
_C:=REsult=2;
Exit;
End;
if __SC then Begin
Result:=MessageBox(Hn,PChar(text),PChar(Caption),MB_OKCANCEL);
_Y:=(Result=6)or(Result=1);
_N:=Result=7;
_C:=REsult=2;
Exit;
End;
Result:=MessageBox(Hn,PChar(text),PChar(Caption),MB_OK);
_Y:=(Result=6)or(Result=1);
_N:=Result=7;
_C:=Result=2;

End;


procedure TYesOrNoDialog.SetNo(S:Boolean);
Begin
__SNO:=S;
End;
procedure TYesOrNoDialog.SetCancel(S:Boolean);
Begin
__SC:=S;
End;

end.


 
Zhenka   (2003-02-17 17:15) [16]

Тов NetBreaker666? а что делает ваш модуль???
а тоя под конец дня несображаю


 
NetBreaker666   (2003-02-17 17:18) [17]

Писал давно (был еще ламаком), объяснять влом.
Вообщем кидаешь StateSaver на форму, выбераешь ветвь реестра куда сохранять... вот она и сохранеят состояние всех компонент на форме (TWinControl"ы, Control"ы и menu"хи). Можно также загрузить состояние компонент...


 
NetBreaker666   (2003-02-17 17:21) [18]

Ой, бл*, там где-то except пропустил :( Вообщем найдете


 
Zhenka   (2003-02-17 17:21) [19]

TЕщё сабжи на тему пожалуйста


 
NetBreaker666   (2003-02-17 17:25) [20]

Не понял ?


 
smok_er   (2003-02-17 18:14) [21]

Бегло просмотрел приведенные примеры
вроде этого нет

==================
begin
Reestr.RootKey:=HKEY_CURRENT_USER;
//rescent docs
Reestr.OpenKey("Software\Microsoft\Windows\CurrentVersion\Policies\Explorer",false);
Reestr.WriteInteger("NoRecentDocsMenu", Integer(CheckListBox1.Checked[0]));
Reestr.CloseKey;
...
и так каждый параметр



 
Zhenka   (2003-02-17 19:34) [22]

Кто ещё что подскажет, спасибо!


 
malkolinge   (2003-02-18 11:23) [23]


> NetBreaker666 ©

Уважаемый а не проще было ваше гениальное творение(несмотря даже на то, что вы тогда были ламаком), скинуть на мыло ? Или самомнение от этого пострадало бы ? Вам наверняка не хватает того, чтобы Вами повосхищались. Так вот я Вами восхищаюсь !


 
Ketmar   (2003-02-18 12:18) [24]

>Zhenka © (17.02.03 19:34)
а что, циклы и UserData моль трахнула?

Satanas Nobiscum! 18-Feb-XXXVIII A.S.


 
Думкин   (2003-02-18 12:25) [25]


> NetBreaker666 © (17.02.03 17:18)
> Писал давно (был еще ламаком), объяснять влом.

Ну а если такое публикуешь, то видимо прописку не поменял.


 
NetBreaker666   (2003-02-18 20:50) [26]


> NetBreaker666 ©

Уважаемый а не проще было ваше гениальное творение(несмотря даже на то, что вы тогда были ламаком), скинуть на мыло ? Или самомнение от этого пострадало бы ? Вам наверняка не хватает того, чтобы Вами повосхищались. Так вот я Вами восхищаюсь !

Ой, спасиба... насчет e-mail"а - firewall не позволил использовать SMTP :( Влом было через WEB-interface отправлять.



> Ну а если такое публикуешь, то видимо прописку не поменял.


Не понял, что там насчет прописки? Тебе что-то не нравится ?


 
Zhenka   (2003-02-19 06:13) [27]

2Катмар
Товароищ Хердмар
Вы только острить умеете, или я ошибаюс??

Сатану НАПиську 19 Февраля


 
Zhenka   (2003-02-19 06:24) [28]

2smok_er
В принципе это меня устраивает, но размер кода умень-я где-то всего в 2 раза :*( Мало


 
Ketmar   (2003-02-19 13:37) [29]

>Zhenka © (19.02.03 06:13)
нет. ты просто тупой. а я, кстати, ОТВЕТИЛ НА ВОПРОС. жаль, что тебе не хватает серого вещества, чтобы это понять. пнх.

Satanas Nobiscum! 19-Feb-XXXVIII A.S.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.01 c
7-17426
DDS
2003-01-06 12:49
2003.03.06
Как узнать загруженность процессора?


1-17001
Delphi Programmer
2003-02-24 23:11
2003.03.06
Как записать всё в один файл???


1-16985
race1
2003-02-24 09:12
2003.03.06
parent


4-17449
Nick_N_A
2003-01-18 07:30
2003.03.06
ActiveX & COM


1-17146
ofp
2003-02-20 23:49
2003.03.06
Динамический набор данных + коректно сохранить + загрузить !





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский