Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2010, 00:10   #1
Helena_pr
Новичок
Джуниор
 
Регистрация: 17.11.2010
Сообщений: 1
Радость перевести код на С++.. надо сделать программу в Borland C++

люди помогите плиз, в Делфи вообще не шарю, нужно перевести код на С++.. надо сделать программу в Borland C++
Код:
    procedure ListFilesKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TraiteMessage(var Msg: TMsg; var Handled: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ToutsupprimerClick(Sender: TObject);
  private
    { Dйclarations privйes }
    procedure MajStatusBar;
  public
    { Dйclarations publiques }
  end;

var
  FormMain: TFormMain;
  F: array of HFILE;
  LblCoche: array[boolean] of string = ('Select all', 'Deselect all');

implementation

{$R *.dfm}

procedure TFormMain.btBrowseClick(Sender: TObject);
begin
  if OpenDialog.Execute then
  if ListFiles.Items.IndexOf(OpenDialog.FileName)=-1 then
    ListFiles.Items.Add(OpenDialog.FileName);
  MajStatusBar;
end;

procedure TFormMain.ListFilesClickCheck(Sender: TObject);
var X: Integer;
    Tmp: OFSTRUCT;
begin
  SetLength(F, 0);
  for X:=0 to ListFiles.Count-1 do
  if ListFiles.Checked[X] then
  begin
    SetLength(F, Length(F)+1);
    try
      F[X]:= OpenFile(PChar(ListFiles.Items.Strings[X]), Tmp, OF_READWRITE);
    except
      on E:Exception do
      begin
        MessageDlg('Impossible d''ouvrir le fichier '+ListFiles.Items.Strings[X], mtError, [mbOK], 0);
        ListFiles.Checked[X]:= False;
      end;
    end;
  end
  else
  begin
    try
      if F[X] <> 0 then
        CloseHandle(F[X]);
    except
    //
    end;
  end;
  MajStatusBar;
end;

procedure TFormMain.TraiteMessage(var Msg: TMsg; var Handled: Boolean);
var
  NombreDeFichiers, Size, i:integer;
  NomDuFichierStr:string;
  NomDuFichier:array[0..255] of char;
begin
  if Msg.message=WM_DROPFILES then
  begin
    NombreDeFichiers:= DragQueryFile(Msg.wParam, $FFFFFFFF, NomDuFichier, SizeOf(NomDuFichier));
    for i:=0 to NombreDeFichiers-1 do
    begin
      Size:= DragQueryFile(Msg.wParam, i, NomDuFichier, SizeOf(NomDuFichier));
      NomDuFichierStr:=NomDuFichier;
      if ListFiles.Items.IndexOf(NomDuFichierStr)=-1 then
        ListFiles.Items.Add(NomDuFichierstr);
    end;
  end;
end;

procedure TFormMain.FormCreate(Sender: TObject);
begin
  FillChar(F, SizeOf(F), 0);
  DragAcceptFiles(ListFiles.handle, True);
  Application.OnMessage := TraiteMessage;
  if FileExists(ChangeFileExt(Application.ExeName, '.lst')) then
    ListFiles.Items.LoadFromFile(ChangeFileExt(Application.ExeName, '.lst'));
end;

procedure TFormMain.ChkLock1Click(Sender: TObject);
var X: Integer;
begin
  ChkLock1.Caption:= LblCoche[ChkLock1.Checked];
  for X:=0 to ListFiles.Count-1 do
    ListFiles.Checked[X]:= ChkLock1.Checked;
  ListFilesClickCheck(nil);
end;

procedure TFormMain.ListFilesKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key=46) and (ListFiles.ItemIndex>-1) then
  begin
    try
      if ListFiles.Checked[ListFiles.ItemIndex] then
        CloseHandle(F[ListFiles.ItemIndex]);
      ListFiles.Items.Delete(ListFiles.ItemIndex);
      MajStatusBar;
    except
      on E:Exception do MessageDlg('Impossible de libйrer le fichier '+ListFiles.Items[ListFiles.ItemIndex], mtError, [mbOK], 0);
    end;
  end;
end;

procedure TFormMain.MajStatusBar;
var X, Nb: Integer;
begin
  Nb:= 0;
  for X:=0 to ListFiles.Count-1 do
  if ListFiles.Checked[X] then
    Inc(Nb);
  if ListFiles.Count>0 then
       StatusBar.SimpleText:= ' '+IntToStr(Nb)+' fichier(s) lockй(s) sur '+IntToStr(ListFiles.Count)+' fichier(s)'
  else StatusBar.SimpleText:= StatusBar.Hint;
end;

procedure TFormMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  SetLength(F, 0);
  ListFiles.Items.SaveToFile(ChangeFileExt(Application.ExeName, '.lst'));
end;

procedure TFormMain.ToutsupprimerClick(Sender: TObject);
var X: Integer;
begin
  ListFiles.Items.BeginUpdate;
  for X:= ListFiles.Count-1 downto 0 do
  begin
    try
      case TMenuItem(Sender).Tag of
      1: begin // tout
        if ListFiles.Checked[X] then
          CloseHandle(F[X]);
        ListFiles.Items.Delete(X);
      end;
      2: begin // coche
        if ListFiles.Checked[X] then
        begin
          CloseHandle(F[X]);
          ListFiles.Items.Delete(X);
        end;
      end;
      3: begin // non coche
        if not ListFiles.Checked[X] then
          ListFiles.Items.Delete(X);
      end;
      end;
    except
      on E:Exception do MessageDlg('Impossible de libйrer le fichier '+ListFiles.Items[X], mtError, [mbOK], 0);
    end;
  end;
  ListFiles.Items.EndUpdate;
  MajStatusBar;
end;

end.

Последний раз редактировалось Stilet; 19.11.2010 в 09:28.
Helena_pr вне форума Ответить с цитированием
Старый 19.11.2010, 09:28   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Думаю тебе только фрилансеры помогу, потому и перенес сюда.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2010, 00:39   #3
fat-lip
 
Регистрация: 15.05.2010
Сообщений: 3
По умолчанию

437675148 пиши, сделаем
fat-lip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно сделать программу!очень надо Сергей7609 Фриланс 10 14.09.2010 22:15
Перевести код на C++ mela Помощь студентам 3 01.06.2010 22:35
Перевести код с VB на C# LT. Общие вопросы .NET 2 25.05.2010 19:21
Помогите сделать программу по Borland C++!!!!!!!!! sershok Общие вопросы C/C++ 0 15.02.2009 18:16
Borland C 3.1 - надо решить задачку. Gakusei Помощь студентам 4 15.02.2009 14:57