еще раз прошу помощи) нашел такой код, для генерации текста по шаблону: но он генерит если в memo есть только одна пара скобок {}, если же в мемо будет {хай|привет} заходи {сюда|туда|} то сообщение получится Хай заходи {сюда|туда} Привет} заходи {сюда заходи {сюда|туда} туда заходи {сюда|туда} короче лажа) надо что бы можно было использовать сколько угодно пар скобок и текст был нормальным) в делфи новичек сильно не пинайте)
Выкинь тот код на помойку Я раньше решал подобную задачу, но только с помошью регулярок, сейчас прочитав твой пост задался целью написать без них как можно быстрее и компактнее Вот что получилось: PHP: function Gener(const Snippet: string): string; var i: Integer; begin i := 1; with TStringList.Create do try Delimiter := '|'; while i <= Length(Snippet) do if Snippet[i] <> '{' then begin Result := Result + Snippet[i]; Inc(i); end else begin DelimitedText := Copy(Snippet, i + 1, PosEx('}', Snippet, i) - i - 1); Result := Result + Strings[Random(Count)]; Inc(i, Length(DelimitedText) + 2); end; finally Free; end; end; На вход - строка-шаблон, на выходе собственно результат Юзать например так: Edit1.Text := Gener(Edit1.Text); Ах да, входящая строка должна быть корректной каждый '{' закрываться '}', иначе експешн. Проверку лень было делать, такова цена краткости
Возможно ли зделать так, чтобы программа запускалась и ожидала запуска другой программы? А как только найдет нужный процесс, выполняла нужные действия? Прога висит в процессах (без формы и не видно в трее). Подскажите плиз P.s. не, не для вируса
Возможно. Самый простой вариант, - искать нужное окно через заданный интервал. Более сложный - думаю, хук на создание окна, или перехват API функций для запуска приложений.
Умные люди подскажите кодом Есть txt документ, его гружу в мемо и нужно перемешать все имеющиеся там строчки Как это сделать? Менял по одной, но это долго и грузит систему. Может быть кто-то сталкивался с этой задачей Code: var i, q: integer; a: string; begin for i := 1 to pred(memo1.Lines.Count) do begin a := memo1.Lines.Strings[i]; q := random(Memo1.Lines.Count); memo1.Lines.Strings[i] := memo1.Lines.Strings[q]; memo1.Lines.Strings[q] := a; end; Не актуально. Разобрался!
Народ, подскажите плз. реально ли средствами Delphi подменить свой IP? можно ли его рэндомно сгенерировать? {юзать прокси или тор не щитается } ващпе мне нужно менять IP по команде. есть какие нить варианты?
Если IP динамический, то по команде можно переподключать интернет соединение, тем самым вызовешь смену айпи
нее.. это не вариант. потому что смена IP должна быть 100%. а при переподключении если твой IP никто не успел занять он о5 присваивается тебе. спасибо, но нет)) есть еще варианты у кого нить?
других вариантов нет, т.к. ип тебе присваивает пров. можно копнуть в сторону ip-спуфинга, но не думаю, что это то, что тебе нужно. кроме того это не так просто или вообще не возможно реализовать.
Пожалуйста, помогите. Пытаюсь получить данные из БД акссес, настроил цепочку из коннекта, dataset, datasourse и DBGrid. Но в гриде не отображаются сами данные. Т.е. создаётся количество строк, полученных из запроса, но сами строки пустые. получается, что грид всё таки получает данные, раз знает сколько строк, а вот отображать не хочет. Как это исправить?
помогите написать в Pascal Задан массив чисел Х [ 1.. 15 ] . Определить значение переменной y. Исходные данные и результат напечатать с пояснительным текстом. y= 7+10 ^3 , если A7 < 1,2*10 ^3, 1,7*А7 А7+М1*1,23 , если A7 1,2*10 ^3. 1,8*А7 зарание спасибо!
casperskii, что за A7 такая? Может быть x[7]? _____________________ Здравствуйте, есть компонент webbrowser, в него подгружается html страница, в которой есть выпадающий список. Как программно выбрать какой-либо элемент из этого списка?
касперский, дай нормально условие! )) если а7 это седьмой элемент массива Х, то код будет такой.. ____________________ var x: array[1..15] of integer; y: real; i:byte; begin clrscr; randomize; writeln('Массив:'); writeln; for i:=1 to 15 do begin x:=random(5000)-2500; write(x:6); end; if x[7]<1200 then y:=1007/(1.7*x[7]) else y:=(x[7]+некое m1*1.23)/1.8*x[7]; writeln; writeln; write('y=',y:6:2); end. ______________ если напечатать c пояснением - это просто вывод в терминал, а не на печать и я не понял аткуда m1
вот еще забыл написать))) А7 - произведение абсолютных значений элементов массива Х; М1 - количество элементов массива Х, значения которых меньше А1; Задан массив чисел Х [ 1.. 15 ] . Определить значение переменной y. Исходные данные и результат напечатать с пояснительным текстом. y= 7+10 ^3 , если A7 < 1,2*10 ^3, 1,7*А7 А7+М1*1,23 , если A7 1,2*10 ^3. 1,8*А7
народ, ещо такой вапрос - есть акошко сторонего преложения. нужно там жамкнуть кнопку. не могу найти там кнопку вот к примеру проверяю для другого приложения, но сделаного мной (и даже не мной, например, калькулятор виндовский): _______ procedure TForm1.Button2Click(Sender: TObject); var h: hwnd; begin if FindWindow(nil, 'заголовок формы')<> 0 then begin h:=FindWindow(nil, ''заголовок формы'); if FindWindowEx(h, 0, nil, 'заголовок кнопки')<>0 then ShowMessage('OK'); end; end; ________ работает. пишу туда параметры нужного мне приложения не робит(( в чем может быть причина? и почему если я к примеру делаю так: ____________ FindWindowEx(h, 0, 'TLabel', 'заголовок метки') ____________ то тоже не работает. вобщем мне нужно как-то жамкать кнопку чужого приложения. причем жылательно чтобы приложение было свернуто. мм.. еще эта кнопка есть в меню которое можно вызвать в трее. можно ли как нить туда жамкать? тока не мышкой. т.е. обычная работа компа не должна нарушаца. всё должно тыкаца в фоне. помогите пожалуста
ксперский, чо за апсалютные значения элементов? просто все элементы перемножить? m1 находица так: for i:=1 to 15 do if x<a1 then m1:=m1+1; m1 опиши как byte, этого хватит. а чо за a1 вылезло?))) может быть а7 ?