Code: var buf:array[0..100] of char; begin GetWindowsDirectory(buf,100); buf[0] будет содержать букву диска
надо написать приложение на дельфи которое должно выводить из буфера текст в стороннее приложение и нажимать enter т оесть. enter-ввела текс-enter и так без конца.Текс она выводит но не в сторонние приложения. вот часть кода .Извените за корявую вставку Code: unit Unit1; * interface * uses * Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, * Dialogs,Clipbrd,StdCtrls; * type * TForm1 = class(TForm) *** Button1: TButton; *** Edit1: TEdit; *** Button2: TButton; *** Memo1: TMemo; *** Edit2: TEdit; *** procedure Button1Click(Sender: TObject); *** procedure Button2Click(Sender: TObject); * private *** { Private declarations } * public *** { Public declarations } * end; * var * Form1: TForm1aiwin,i:integer; * implementation * {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin memo1.Clear; Clipboard.SetTextBuf(PChar(edit1.Text)); end; procedure TForm1.Button2Click(Sender: TObject); begin daiwin:=strtoint(edit2.text); for i:=1 to* daiwin+1 do begin if i<daiwin then Memo1.SelText := Clipboard.AsText; end; end; end.
также как и bmp. но предварительно раскодировав формат ручками. Бери описание формата и смотри какие поля за что овтечают
эмм. . спасибо но как узнать имя дескриптора и как сделат ьнежатие клавиши enter перед вводом текста и после ввода текста
2 KIR@PRO Если будеш юзать PNG то придется тебе еще и LZW реализовывать. потому что он именно им и пакован. По этому советую поглядеть как это всё было сделано в опенсоурской libpng (http://www.libpng.org/pub/png/libpng.html) Вот тут вот описано как юзать это всё http://www.gamedev.ru/articles/?id=70122
waik: или юзай функции FindWindow чтобы найти нужно окно, а потом ищи на нем элемент. Или в таймере запусти код: h:=WindowFromPoint(mouse.CursorPos); edit1.text:=inttohex(h,8); и он будет показывать тебе дискриптор элемента на который наведена мышка. А потом просто впиши этот дискриптор и всё (пс при каждом запуске приложения этот дискрипт меняется)
у меня вот этот код меняет заголовок окна setWindowText(h,pchar(Clipboard.AsText)); а задача чтоб она она внутри приложения нажимала enter вставляла текст и нажимала enter .у оно меняет загловок окна
значит дискриптор не правильно указал. Для послыки энтера посылай томуже элементу сообщение о WM_KEYDOWN/ WM_KEYUP в 5005 статей по Delphi это очень хорошо описано
Как зная имя процесса скрыть его форму, убрать из списка запушенных программ в диспетчере и из мемо этой формы вытащить данные?
Так с 1 и 2 разобрался, остается только вытащить данные в мемо из чужой проги. И еще: как добавить чужую прогу к себе в exe файл и запустить её?
Здравствуйте. Вот ломаю голову над этим: имеется набор символов, строка (string); И в этой строке, по идее, заложен смысл... т.е. там лежат отдельные слова, разделённые между собой знаком ";". Например: Судан;Чад;Танзания;Кот-Д'ивуар;Мали;. Требуется считать символы между знаками ";" и вывести это построчно с новой строки (Memo1.Lines.Add('?')) в Memo... Мда. Возьмём к примеру "Судан;Чад;" Возможно нужно запомнить index ;'ой (в нашем случае это 6), записать в integer, поискать дальше по string и записать в integer2 (в нашем случае это 10), а потом из integer2-integer и получим 4, далее вычесть 1 и это будет copy(string,integer+1,COUNT); Не получается нормально сделать цикл... Делаю - for q:=1 to Length(Edit1.Text) do begin if Edit1.Text[q]=';' then begin integer:=q; А дальше полная ерунда Кто мне сможет помочь?
2[K4t] Code: procedure TForm1.Button1Click(Sender: TObject); var q,w,e:string; i,o,p:integer; begin q:=edit1.text; if ((length(q)<1)or(pos(';',q)<1)) then exit; while pos(';',q)>0 do begin memo1.lines.Add(copy(q,1,pos(';',q)-1)) ; delete(q,1,pos(';',q)); end; end;
Code: while length(s)<>0 do begin t := pos(';', s); //t-1 - длина слова Memo.Lines.Add(copy(s, 1, t - 1)); delete(s, 1, t); end;
я пользуюсь такой штукой. имхо, более удобно чем хранить в ресурсах файл - гораздо меньше палева, если ещё немного модифицировать =) Code: { **** UBPFD *********** by delphibase.endimus.com **** >> Интегрирование в EXE-шник других файлов Процедура из указанного файла (FileName) создаёт unit в котором объявлен, заполненный побайтово, массив и процедура сохранения этого массива обратно в файл. Таким образом можно включить в один EXE-шник множество других файлов (dll, ocx, dbf и т.п.) - прикрепить их как unit-ы. Фактически, после сжатия EXE-шника программами типа UPX, получаем довольно компактный файл, который можно использовать в качестве дистрибутива, например. Зависимости: SysUtils, System Автор: Delirium Copyright: Delirium (Master BRAIN) Дата: 22 мая 2002 г. ***************************************************** } procedure FileToPas(FileName: string); var BF: file of Byte; F: TextFile; P, N, S: string; BFSize: integer; BBB: Byte; begin AssignFile(BF, FileName); Reset(BF); BFSize := FileSize(BF); P := ExtractFilePath(FileName); N := ExtractFileName(FileName); N := ChangeFileExt(N, '.PAS'); AssignFile(F, N); ReWrite(F); Writeln(F, '(* Generated by Master BRAIN (C) 2002 *)'); Writeln(F, 'unit ' + ChangeFileExt(N, '') + ';'); Writeln(F); Writeln(F, 'interface'); Writeln(F); Writeln(F, 'const FileSize:integer=' + IntToStr(BFSize) + ';'); Writeln(F, 'FileData:array[0..' + IntToStr(BFSize - 1) + '] of Byte='); Writeln(F, '('); while not Eof(BF) do begin S := ''; while (not Eof(BF)) and (Length(S) < 80) do begin Read(BF, BBB); S := S + IntToStr(BBB) + ','; end; if Eof(BF) then Delete(S, Length(S), 1); Writeln(F, S); end; CloseFile(BF); Writeln(F, ');'); Writeln(F); Writeln(F, 'procedure SaveToFile(FileName:String);'); Writeln(F); Writeln(F, 'implementation'); Writeln(F); Writeln(F, 'procedure SaveToFile(FileName:String);'); Writeln(F, 'var F:File of Byte;'); Writeln(F, ' i:integer;'); Writeln(F, 'begin'); Writeln(F, 'AssignFile(F,FileName);'); Writeln(F, 'ReWrite(F);'); Writeln(F, 'for i:=0 to FileSize-1 do Write(F,FileData[i]);'); Writeln(F, 'CloseFile(F);'); Writeln(F, 'end;'); Writeln(F); Writeln(F, 'end.'); CloseFile(F); end;
Нужна помощь по делфи. Я использую в своей программе word. Этой процедурой я загружая текст из мемо в вордовский документ. И тут собственно вопрос как можно указать форматирование текста? Нужно организовать отступ(по умолчанию большой выходит) и выделение определённых слов жирным шрифтом.