Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TOpenDialog, максимальный размер файла 
:(
    Опции темы
Illusion Dolphin
  Дата 3.10.2004, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 36
Всего: 63



Можно ли в стандартном TOpenDialog установить максимальный размер отображаемых файлов? Т.е. чтобы, например, отображались только файлы, размером менее 12 килобайт?


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Alex
Дата 3.10.2004, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



я думаю нет


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Illusion Dolphin
Дата 3.10.2004, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 36
Всего: 63



А что значит это событие?
Код

procedure TForm1.OpenDialog1IncludeItem(const OFN: TOFNotifyEx;
 var Include: Boolean);
begin

end;


Я перевожу этот как ПриДовавленииИтема - может, как-то можно? А?


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Pakshin A. S.
Дата 3.10.2004, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



А когда это вообще срабатывает?

Один из вариантов решения: самостоятельное создание диалога стандартными и нестандартными средствами... hmmm.gif
PM   Вверх
Illusion Dolphin
Дата 3.10.2004, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 36
Всего: 63



Мдя... Ещё варианты есть? Если нет, то неблагодарное это дело...


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Alex
Дата 3.10.2004, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Ну вообщето ты нашел правильное событие, но оно сработает только на виндах от 2000 и выше. Но как им пользоваться пока не знаю.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Illusion Dolphin
Дата 3.10.2004, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 36
Всего: 63



Цитата
правильное событие

Гы 8). У меня виньХР, и как это всё запустить biggrin.gif? Кто-нибудь знает?


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
p0s0l
Дата 4.10.2004, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Запустить - включить опцию ofEnableIncludeNotify
Пользоваться - я написал такой обработчик:
Код
procedure TForm1.OpenDialog1IncludeItem(const OFN: TOFNotifyEx;
 var Include: Boolean);
var
 fi : WIN32_FILE_ATTRIBUTE_DATA;
 sr : STRRET;
 FileName : string;

begin
 ofn.psf.GetDisplayNameOf(ofn.pidl, SHGDN_FORPARSING, sr);
 case sr.uType of
   STRRET_CSTR : FileName := sr.cStr;
   STRRET_WSTR : FileName := sr.pOleStr;
   STRRET_OFFSET : FileName := PChar(Cardinal(ofn.pidl)+sr.uOffset);
 end;
 GetFileAttributesEx (PChar(FileName), GetFileExInfoStandard, @fi);
 Include := (fi.nFileSizeHigh = 0) and (fi.nFileSizeLow < 12*1024);
end;
Но это не работает... Код-то типа правильный, но само событие немного левое: изменение Include ни на что не влияет (хотя должно влиять). К примеру, если просто написать:
Код
procedure TForm1.OpenDialog1IncludeItem(const OFN: TOFNotifyEx;
 var Include: Boolean);
begin
 Include := False;
end;
то всё равно все файлы будут добавляться в OpenDialog... sad.gif



--------------------
С уважением, г-н Посол.
PM   Вверх
Alex
Дата 4.10.2004, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(p0s0l @ 4.10.2004, 12:01)
Но это не работает... Код-то типа правильный, но само событие немного левое: изменение Include ни на что не влияет (хотя должно влиять). К примеру, если просто написать:
Код
procedure TForm1.OpenDialog1IncludeItem(const OFN: TOFNotifyEx;
var Include: Boolean);
begin
Include := False;
end;



то всё равно все файлы будут добавляться в OpenDialog...

Я вчера тутже заткнулся к чему этот Include вообще не понятно sad.gif


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Girder
Дата 4.10.2004, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



И так не работает
Код
function fHook(Wnd: HWnd; Msg: UINT; WParam: WPARAM; LParam: LPARAM): UINT; stdcall;
var FileName:string;
   fi:WIN32_FILE_ATTRIBUTE_DATA;
   sr:_STRRET;
   sHigh,sLow:cardinal;
begin
Result:=0;
if (Msg = WM_NOTIFY) then
 if (POFNotify(LParam)^.hdr.code)=CDN_INCLUDEITEM then
  begin
   Result:=1;
   if LParam<>0 then
    begin
     POFNotifyEx(LParam)^.psf.GetDisplayNameOf(POFNotifyEx(LParam)^.pidl,SHGDN_FORPARSING,sr);
     case sr.uType of
      STRRET_CSTR:FileName:=sr.cStr;
      STRRET_WSTR:FileName:=sr.pOleStr;
      STRRET_OFFSET: FileName:=PChar(Cardinal(POFNotifyEx(LParam)^.pidl)+sr.uOffset);
     end;
     if (FileExists(FileName,sHigh,sLow)=0)and((sHigh>0)or(sLow>12*1024)) then
      Result:=0;
    end;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var ofn:OPENFILENAME;
   szFile:array [1..1024] of char;
begin
FillChar(ofn,SizeOf(ofn),#0);
FillChar(szFile,SizeOf(szFile),#0);
ofn.lStructSize:=SizeOf(ofn);
ofn.hwndOwner:=Handle;
ofn.lpstrFile:=@szFile;
ofn.nMaxFile:=sizeof(szFile);
ofn.lpstrFilter:='DD'+#0+'*.dd'+#0+'Все файлы'+#0+'*.*'+#0+#0;
ofn.nFilterIndex:=1;
ofn.lpstrFileTitle:='Title';
ofn.nMaxFileTitle:=0;
ofn.lpstrInitialDir:=nil;
ofn.Flags:=OFN_ENABLEINCLUDENOTIFY or OFN_PATHMUSTEXIST or OFN_FILEMUSTEXIST or
           OFN_HIDEREADONLY or OFN_EXPLORER or OFN_ENABLEHOOK;
ofn.lpfnHook:=fHook;
if GetOpenFileName(ofn)=TRUE then
 Edit1.Text:=ofn.lpstrFile;
end;
Может быть ноги от сюда растут:
Цитата
The dialog box always includes items that have both the SFGAO_FILESYSTEM and SFGAO_FILESYSANCESTOR attributes, regardless of the value returned by CDN_INCLUDEITEM


Это сообщение отредактировал(а) Girder - 4.10.2004, 21:30


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Pakshin A. S.
Дата 4.10.2004, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



А может все-таки своими силами диалог составлять?
PM   Вверх
Illusion Dolphin
Дата 4.10.2004, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 36
Всего: 63



Цитата
А может все-таки своими силами диалог составлять?

Т.е. полностью переписывать с использованием TListView? Или способ попроще?


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Pakshin A. S.
Дата 4.10.2004, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Можно и ListBox переделать (иконки поставить под папки и файлы...). Надо немного подумать...
PM   Вверх
Pakshin A. S.
Дата 4.10.2004, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



А можно и с компонетами во вкладке Win3.1: DriveComboBox1 FilterComboBox1 DirectoryListBox1 FileListBox1

по обытиям от Change компонентов смотрим в FileListBox1
Код

for i:=0 to FileListBox1.items.Count-1 do
 if  ...FileListBox1.Items[i]... // проверяем размер
  then
   begin
    // размер не тот
    FileListBox1.Items.Delete(i);
    dec(i);
   end;


Может сработает... sad.gif
PM   Вверх
Alex
Дата 4.10.2004, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



а я бы попробовал вариант Girder



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
p0s0l
Дата 4.10.2004, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Цитата(Alex @ 4.10.2004, 21:48)
а я бы попробовал вариант Girder
На самом деле, это почти тот же TOpenDialog, поэтому тоже и не работает... Если добиться того, чтобы заработал вариант Girder'а, то можно заставить работать и TOpenDialog...


--------------------
С уважением, г-н Посол.
PM   Вверх
Alex
Дата 5.10.2004, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(p0s0l @ 5.10.2004, 00:10)
На самом деле, это почти тот же TOpenDialog, поэтому тоже и не работает... Если добиться того, чтобы заработал вариант Girder'а, то можно заставить работать и TOpenDialog...

Я бы все же с его вариантом экспериментировал. Особенно мне хук функция покоя не дает.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Girder
Дата 5.10.2004, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Когда я увидел это
Цитата
а я бы попробовал вариант Girder
я решил обождать с ответом, но почему-то ни кто так и недогадался.

Стандартным(цивилизованным) способом, заставить принимать Result(а также Malloc.Free(POFNotifyEx(LParam)^.pidl)) на врядли удастся. Но эту ОС писали(и пишут) обычные люди и как всегда(если очень хочется smile.gif ) можно все это обойти.

Предположения для решения:
1)CDN_INCLUDEITEM - выдается до наложения фильтра на имя файла.
2)* и *.* в понимании программистов из microsoft одно и тоже и более того - имя файла может быть пустым.
Вывод:
1)Можем использовать CDN_INCLUDEITEM для использования фильтра.
2)Заменить * и *.* на одну из этих масок: ?* или *? или *?* - т.е имя файла должно иметь хотя бы один символ.

Код с использованием API:
Код
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

uses ShlObj,CommDlg;

function FileExists(const eFile:string;var sHigh,SLow:cardinal):integer;
var sf:string;
   fesr:TSearchRec;
   sfAttr:integer;
begin
sf:=trim(eFile);
Result:=3;
if (Length(sf)=0)or(sf[Length(sf)]='\') then exit;
sfAttr:=$FFE7;
Result:=FindFirst(sf,sfAttr,fesr);
if Result=0 then
 begin
  Result:=2;
  repeat
   if (((fesr.Attr and $10)<>$10)and((fesr.Attr and $8)<>$8)) then
    begin
     Result:=0;
     sHigh:=fesr.FindData.nFileSizeHigh;
     sLow:=fesr.FindData.nFileSizeLow;
    end;
  until (Result=0)or(FindNext(fesr)<>0);
  FindClose(fesr);
 end;
end;

function fHook(Wnd: HWnd; Msg: UINT; WParam: WPARAM; LParam: LPARAM): UINT; stdcall;
var FileName:string;
   sr:TStrRet;
   sHigh,sLow:cardinal;
   IDL:PItemIDList;
   P:PChar;
{function NextPIDL(nIDL:PItemIDList):PItemIDList;
begin
Result:=nIDL;
Inc(PChar(Result),nIDL^.mkid.cb);
end;
function GetCount(cIDL:PItemIDList):integer;
begin
Result:=0;
while cIDL^.mkid.cb<>0 do
 begin
  Inc(Result);
  cIDL:=NextPIDL(cIDL);
 end;
end;   }
begin
Result:=0; //На всяк пожарный
if (Msg=WM_NOTIFY) then
 if (POFNotify(LParam)^.hdr.code)=CDN_INCLUDEITEM then
  begin
   Result:=1; //На всяк пожарный
   if LParam<>0 then
    begin
     IDL:=POFNotifyEx(LParam)^.pidl;
     POFNotifyEx(LParam)^.psf.GetDisplayNameOf(POFNotifyEx(LParam)^.pidl,SHGDN_FORPARSING,sr);
     case sr.uType of
      STRRET_CSTR:FileName:=sr.cStr;
      STRRET_WSTR:FileName:=sr.pOleStr;
      STRRET_OFFSET: begin
                      P:[email protected][sr.uOffset-SizeOf(IDL.mkid.cb)];
                      SetString(FileName,P,IDL.mkid.cb-sr.uOffset);
                     end;
     end;
     if (FileExists(FileName,sHigh,sLow)=0)and((sHigh>0)or(sLow>12*1024)) then //12*12024 - размер на 12Kb
      begin
       Result:=0; //На всяк пожарный
       //IDL^.mkid.cb:=0; //приводит к утечкам
       IDL^.mkid.abID[0]:=0;
      end;
    end;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var ofn:OPENFILENAME;
   szFile:array [1..1024] of char;
begin
FillChar(ofn,SizeOf(ofn),#0);
FillChar(szFile,SizeOf(szFile),#0);
ofn.lStructSize:=SizeOf(ofn);
ofn.hwndOwner:=Handle;
ofn.lpstrFile:=@szFile;
ofn.nMaxFile:=sizeof(szFile);
ofn.lpstrFilter:='Dat'+#0+'*.dat'+#0+'Все файлы'+#0+'*?*'+#0+#0;
ofn.nFilterIndex:=2;
ofn.lpstrFileTitle:=nil;
ofn.nMaxFileTitle:=0;
ofn.lpstrInitialDir:=nil;
ofn.Flags:=OFN_ENABLEINCLUDENOTIFY or OFN_PATHMUSTEXIST or OFN_FILEMUSTEXIST or
           OFN_HIDEREADONLY or OFN_EXPLORER or OFN_ENABLEHOOK;
ofn.lpfnHook:=fHook;
if GetOpenFileName(ofn)=true then
 Caption:=ofn.lpstrFile;
end;

end.


Код с использованием компонента
Код
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   OpenDialog1: TOpenDialog;
   procedure Button1Click(Sender: TObject);
   procedure OpenDialog1IncludeItem(const OFN: TOFNotifyEx;
     var Include: Boolean);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

uses ShlObj;

function FileExists(const eFile:string;var sHigh,SLow:cardinal):integer;
var sf:string;
   fesr:TSearchRec;
   sfAttr:integer;
begin
sf:=trim(eFile);
Result:=3;
if (Length(sf)=0)or(sf[Length(sf)]='\') then exit;
sfAttr:=$FFE7;
Result:=FindFirst(sf,sfAttr,fesr);
if Result=0 then
 begin
  Result:=2;
  repeat
   if (((fesr.Attr and $10)<>$10)and((fesr.Attr and $8)<>$8)) then
    begin
     Result:=0;
     sHigh:=fesr.FindData.nFileSizeHigh;
     sLow:=fesr.FindData.nFileSizeLow;
    end;
  until (Result=0)or(FindNext(fesr)<>0);
  FindClose(fesr);
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var o:TOpenOptions;
begin
o:=OpenDialog1.Options;
Include(o,ofEnableIncludeNotify);
Exclude(o,ofOldStyleDialog);
OpenDialog1.Options:=o;
OpenDialog1.Filter:='Dat|*.dat|Все файлы|*?*';
OpenDialog1.OnIncludeItem:=OpenDialog1IncludeItem;
if OpenDialog1.Execute then
 Caption:=OpenDialog1.FileName;
end;

procedure TForm1.OpenDialog1IncludeItem(const OFN: TOFNotifyEx;
 var Include: Boolean);
var FileName:string;
   sr:TStrRet;
   sHigh,sLow:cardinal;
   IDL:PItemIDList;
begin
Include:=true; //На всяк пожарный
ofn.psf.GetDisplayNameOf(ofn.pidl, SHGDN_FORPARSING, sr);
case sr.uType of
 STRRET_CSTR:FileName:=sr.cStr;
 STRRET_WSTR:FileName:=sr.pOleStr;
 STRRET_OFFSET:FileName:=PChar(Cardinal(ofn.pidl)+sr.uOffset);
end;
IDL:=ofn.pidl;
if (FileExists(FileName,sHigh,sLow)=0)and((sHigh>0)or(sLow>12*1024)) then
 begin
  Include:=false; //На всяк пожарный
  try
   //IDL^.mkid.cb:=0; //приводит к утечкам
   IDL^.mkid.abID[0]:=0;
  except //На всяк пожарный - а то вдруг и вправду привелегий не будет
  end;
 end;
end;

end.


Удачи.

Это сообщение отредактировал(а) Girder - 5.10.2004, 14:49


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Girder
Дата 5.10.2004, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Забыл добавить: Все это работает только для Explorer стиля (т.е. если убрать OFN_EXPLORER или Exclude(o,ofOldStyleDialog) - работать не будет!).

ИМХО: Считаю... что старый стиль уже в прошлом smile.gif


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Illusion Dolphin
Дата 5.10.2004, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 36
Всего: 63



Girder: большое СПАСИБО! Оно действительно работает... Теперь буду разбираться, что к чему 8)...



--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Alex
Дата 5.10.2004, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Girder @ 5.10.2004, 10:25)
я решил обождать с ответом, но почему-то ни кто так и недогадался.

Я бы сказал времени небыло smile.gif


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0666 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.