Нада человек який решить задачки 1-курсу института Задача типа С меня плюсики + благодарность Заданий много то стучите все и при цьом задания разних типов Актуально
Реализация: PHP: procedure LFD(Path: string; FileList: TStrings); var SR: TSearchRec; AT: Integer; ST: String; begin if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then begin repeat if DirectoryExists(path+SR.Name) then begin ST :='Folder'; AT := FileGetAttr(path+SR.Name); if (AT and faHidden) <> 0 then ST := ST + 'H'; //Hidden if (AT and faReadOnly)<> 0 then ST := ST + 'R'; //Read-Only if (AT and faSysFile) <> 0 then ST := ST + 'S'; //System if (AT and faArchive) <> 0 then ST := ST + 'A'; //Archive ST:=ST+'] '; FileList.Add(' [' + ST + SR.Name + ' [/'+ST); end else begin ST :='File'; AT := FileGetAttr(path+SR.Name); if (AT and faHidden) <> 0 then ST := ST + 'H'; //Hidden if (AT and faReadOnly)<> 0 then ST := ST + 'R'; //Read-Only if (AT and faSysFile) <> 0 then ST := ST + 'S'; //System if (AT and faArchive) <> 0 then ST := ST + 'A'; //Archive ST:=ST+'] '; FileList.Add(' [' + ST + SR.Name + ' [/'+ST); end until FindNext(SR) <> 0; FindClose(SR); end; end; Пример вызова: PHP: procedure TForm1.Button1Click(Sender: TObject); begin LFD('c:\',Memo1.Lines); end;
как сделать кнопку "Обзор" (Файлов) Да еще чтобы под "Имя файла" было "Тип файла" тыпы который я должен указать сам... ПСы: Гугол седня играет не в мою пользу
если на Дельфи, то вкладка Dialog -> добавляешь на форму OpenDialog открываешь в свойствах Filter у OpenDialog и там 2 колонки, так вот в первую пишешь что хочешь, а во вторую маску файлов. Потом обработчик: PHP: procedure TForm1.Button1Click(Sender: TObject); var s: string; begin if OpenDialog1.Execute then s:=OpenDialog1.FileName; end;
Все работате, но теперь как перехватить путь и имя файла и закинуть это в эдит1 (например: выбрали мы фаил и он записался в эдит1 в таком виде: c:\папка\папка\еще одна папка\фаил.txt
PHP: procedure TForm1.Button1Click(Sender: TObject); var s: string; begin if OpenDialog1.Execute then s:=OpenDialog1.FileName; end; полный путь храниться в переменной s Можете сделать так: PHP: procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then Edit1.Text:=OpenDialog1.FileName; end;
НTL вроде так procedure TForm1.Button1Click(Sender: TObject); var s: string; begin if OpenDialog1.Execute then begin edit1.text:=OpenDialog1.FileName; end; end; Flame of Soul опередил
Уважаемые дельфисты! Подправьте пож-та код.... Жутко грузит систему Code: procedure TForm1.StartuemClick(Sender: TObject); var k: longint; H: HWND; begin StringGrid2.RowCount:=StringGrid2.RowCount+1; k:=StringGrid2.RowCount-3; for k := 0 to StringGrid1.RowCount - 1 do if k<>0 then begin ShellExecute(Handle,'open',pchar(StringGrid1.Cells [1,k]),nil,nil,SW_SHOWNORMAL); sleep(5000); H := FindWindow('IEFrame', nil); SendMessage(H, WM_SYSCOMMAND, SC_CLOSE, 0); end; end;
sleep(5000); - это плохо, очень плёхо))) используйте таймер и счетчик тогда уж.)) и также вставьте в тело цикла: PHP: if k<>0 then begin ..... ..... Application.ProcessMessages; end; Application.ProcessMessages; - дайте поработать системе.
PHP: function GTFF(AF: string; var RS: string): Boolean; var FS: TFileStream; begin Result := False; if not FileExists(AF) then Exit; FS:=TFileStream.Create(AF, fmOpenRead); try if FS.Size <> 0 then begin SetLength(RS,FS.Size); FS.Read(RS[1], FS.Size); Result := True; end; finally FS.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var s: string; begin if GTFF('c:\ALCxxx-06.log', s) then ICQClient1.SendMessage(Ася,s); end;
а с какого компонента или какой файл какого формата выводится на печать? или просто текст и координаты? это функция поставь ее сразу после PHP: implementation {$R *.dfm}
самая тупая идея в 5 утра, нарисовать текст на картинке в нужных те координатах и распечатать картинку. Я с печатью никогда не работала, т.к. своего принтера нету. Рисуем Текст: PHP: var bm : TBitmap; OldBkMode : integer; begin bm := TBitmap.Create; bm.Width := BitBtn1.Glyph.Width; bm.Height := BitBtn1.Glyph.Height; bm.Canvas.Draw(0, 0, BitBtn1.Glyph); OldBkMode := SetBkMode(bm.Canvas.Handle, Transparent); bm.Canvas.TextOut(0, 0, 'The Caption'); SetBkMode(bm.Canvas.Handle, OldBkMode); BitBtn1.Glyph.Assign(bm); end; Печатаем картинку: PHP: procedure AngleTextOut(CV: TCanvas; const sText: string; x, y, angle: integer); var LogFont: TLogFont; SaveFont: TFont; procedure TForm1.Button1Click(Sender: TObject); var ScaleX, ScaleY: Integer; R: TRect; begin Printer.BeginDoc; // ** with Printer do try ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch; ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch; R := Rect(0, 0, Image1.Picture.Width * ScaleX, Image1.Picture.Height * ScaleY); Canvas.StretchDraw(R, Image1.Picture.Graphic); // ** finally EndDoc; // ** end; end; //Данный код осуществляет корректное масштабирование //изображения, в противном случае при печати вы можете получить //небольшую иконку. Разрешение принтера больше, чем разрешение вашего //дисплея.
Вопрос по delphi. Суть заключается в том, чтобы программа 1.Добавила новую секцию в exe файле. 2.Записала туда какой-то код(он будет запрашивать пароль). 3.Сменила точку входа(Entry point) на адрес добавленного кода. 4.В конце добавленного кода поставила JMP на оригинальную точку входа(OEP). Теперь пояснение. Конечно сразу можно подумать, что я пишу вирус. Я знаю, что этим методом пользуются вирусы для заражения файлов. Но на самом деле я пишу защиту для своих програм. Дело в том, что есть у меня знакомый человек, который любит присваивать себе мои программы. Я не хочу использовать уже готовые программы, мне нужна своя. З.Ы. Не надо мне присылать смещения в PE Header'е и статьи на эту тему(про смещения). Я их прекрасно знаю, но не могу их примменять, поэтому жду от вас исходники,которые выполняют эти операции. Как добавлять новые секции я почти разобрался, а вот с EP я сел в яму. Гугл весь перерыл, но натыкался только на вирусы написанные на ASM'е, но они мне не нужны. З.Ы. З.Ы. За быстрый ответ с хорошим исходником, можете заработать вознаграждение на мобильник(50 или 100 руб.).