Мне на паскале нужна такая прога: Вывод одной надписи,и через 15 секунд ещё одной надписи. Как это на паскале реализовать?
Народ, помогите, пожалуйста, намутить такую тему: Нужно создать меню, которое содержит след.пункты: "файл", "массив", "диаграмма", "сброс". - При выборе элемента меню "файл" должна запускаться процедура, которая рассчитывает количество положительных элементов файла с целым компонентом из 10 чисел (сумма, разность, макс. элемент, минимальный элемент и т.д.) - при выборе пункта "массив", должна запускаться процедура, которая рассчитывает количество отрицательных элементов целого массива (сумма и т.д.) - При выборе пункта "диаграмма", должна запускаться процедура 'создание диаграммы' (столб.,круговая), на основе полученных данных (п.1 и п.2) - При выборе пункта "сброс", должна очищаться диаграмма (компонент chart) для послед. данных. з.ы На дельфе это всё делается)
Ребята...как реализовать в логе(мемо) сервера(инди ХТТП сервак) чтобы показывалось КТО подключился... я ставлю обработку события ОнКоннект, но не знаю к какому элементу Инди ХТТП сервера обращатся...
Code: s := '<lol>ass</lol>'; p := pos('<lol>', s); if (p > 0) then begin p1 := pos('</lol>', s); if (p1 > 0) and (p1 > p) then data := copy(s, p+5, p1-p-5); end; примерно так при условии что теги идут парно и правильно
Регуляркой: Code: procedure TForm1.FormCreate(Sender: TObject); begin RegExp:=TRegExpr.Create; end; procedure TForm1.Button1Click(Sender: TObject); var tag:string; begin regexp.expression:='<lol>(.+?)</lol>'; tag:='<lol>Hello world</lol>'; if RegExp.Exec(tag) then showmessage(RegExp.Match[1]); end; Где взять RegExp: http://www.delphisources.ru/files/sources/raznoe/2007_year/regexp_debugger.zip Вот еще тема которая мне помогла когда то: http://forum.antichat.ru/threadnav119447-1-10.html
Я уже спрашивал... но...: Ребята...как реализовать в логе(мемо) сервера(инди ХТТП сервак) чтобы показывалось КТО(АйПи Адрес) подключился... я ставлю обработку события ОнКоннект, но не знаю к какому элементу Инди ХТТП сервера обращатся...
процедура OnConnect даёт тебе доступ к потоку подключившегося пира под именем AThread: Code: procedure TForm1.IdHTTPServer1Connect(AThread: TIdPeerThread); оттуда можно достать его IP адрес: Code: Memo1.Lines.Add(AThread.Connection.Socket.Binding.PeerIP); Удачи
Решите плиз) (Паскаль) в каждом столбце и каждой строк матрицы самодержица строго по одному не левому элементу. Перестановкой строк добиться расположение всех нулей по главной диагонали. В программе должна присутствовать проверка чтоб в строке был строго один ноль, в противном случае цикл не выполняться.
Code: PROGRAM PMatrix; uses Crt; const N = 3; Var Matrix: Array [1..N,1..N] of byte; Indexes: set of byte; counter: byte; function CheckLine(LineIndex: byte): boolean; var i, j: byte; begin counter := 0; CheckLine := false; for i := 1 to N do if (Matrix[LineIndex,i] = 0) then begin inc(counter); if counter > 1 then begin CheckLine := false; exit; end; if (i in Indexes) then begin CheckLine := false; exit; end; end; CheckLine := true; end; procedure GenerateMatrix; var tmpindex: byte; i, j: byte; begin Indexes := []; randomize; for i := 1 to N do begin repeat tmpindex := random(N)+1; for j := 1 to N do if j = tmpindex then Matrix[i,j] := 0 else Matrix[i,j] := random(99)+1; until (CheckLine(i)); Indexes := Indexes + [tmpindex]; end; end; procedure ChangeLines(index1, index2: byte); var tmp: byte; i: byte; begin for i := 1 to N do begin tmp := Matrix[index1,i]; Matrix[index1,i] := Matrix[index2,i]; Matrix[index2,i] := tmp; end; end; procedure SortMatrix; var i, j: byte; begin for i := 1 to N do begin if not(CheckLine(i)) then exit; for j := 1 to N do if (Matrix[i,j] = 0) then ChangeLines(i,j); end; end; procedure ShowMatrix; var i, j: byte; begin for i := 1 to N do begin for j := 1 to N do if (Matrix[i,j] < 10) then write(' ', Matrix[i,j], ' ') else write(Matrix[i,j], ' '); writeln end; end; var i, j: byte; choice: char; begin clrscr; write('Would you like to generate the matrix automatically? (y/n)'); readln(choice); if (choice = 'y') then GenerateMatrix else for i := 1 to N do for j := 1 to N do begin write('Matrix[',i,',',j,'] = '); readln(Matrix[i,j]); if (Matrix[i,j] = 0) then Indexes := Indexes + [j]; end; writeln; ShowMatrix; writeln; SortMatrix; ShowMatrix; readln; end. Небольшой комментарий: размер матрицы задается с помощью константы N. Поскольку есть возможность ручного ввода матрицы, то значение по умолчанию у N небольшое. GenerateMatrix - заполняет матрицу правильным образом ChangeLines - меняет 2 строки местами SortMatrix - упорядочивает строки согласно заданию ShowMatrix - выводит матрицу на экран CheckLine - проверяет, нет ли в какой-либо строке или столбце более 1 нуля.
вот мне надо написать что-то типо электронного справочника, попробую сначала на дельфи, потом на си++. Объясните мне как лучше, делать кучу форм и на каждой форме размещать отдельную информацию, или выводить все в одной форме? Тоесть сама идея такова, открываеться навигация, выбираешь что надо, потом открываеться новое окно (новая форма) и в форме появляеться текст на определенную тему, жмешь кнопку вперед, и появляеться новая форма с другим текстом, или же, в старую перезаписываеться инфа. Вот как лучше?
Если планируется сделать что-то вроде справочника, то статьи в нем должны быть оформлены примерно одинаково. Поэтому для вывода статьи логично использовать одну и ту же форму, имхо.