procedure add(var a:mas); var i,j:byte; begin for i=0 to n do for j=0 to m do if i=j then a[i,j]:=1 else if (n-i)=j then begin "Здесь добавь второе условие для второй диагонали, просто я не понял его" end else a[i,j]:=random(xxx); end; ////////////////// procedure print(a:mas); var i,j:byte; begin for i:=1 to n do begin for j:=1 to m do write(a[i,j]); writeln end;end; это условие я не понял и пропустил. И ПРОВЕРЬ НА СИНТАКСИЧЕСКИЕ ОШИБКИ я просто давно занимался этим языком
сделал (Turbo Pascal 7.1): Code: program BAOFY; uses crt; const n=10; m=n; {esli n<>m - diagonal' ya hz kak opredelit' =)} var a:array[1..n,1..m]of integer; x,y,s:integer; begin clrscr; randomize; for x:=1 to n do for y:=1 to m do if(x=y)then a[x,y]:=1 else a[x,y]:=random(10);{zapolnenie massiva} s:=0;for x:=1 to n do s:=s+a[x,2];{summa 2 stroki} for x:=1 to n do a[x,m-x+1]:=s;{2 diagonal'} for y:=1 to m do begin for x:=1 to n do write(' ',a[x,y]);writeln;end;{vyvod massiva} readkey; end.
Code: //... type dynmas=array of string; //... function strz(s1,s2:string):dynmas; begin setLength(result,2); result[1]:=s1; result[2]:=s2; end; //... типо того...))
С инди устал геморится, пора переходить на winsock/ wininet. Дайте кто-нибудь материл по нему пожалуйста, только не с гугла. Или напишите процедуры/функции, например, для залогинивания на сайт, если не трудно.
сам ищу) или еще как использовать tWebBrowser без форм и tApplication xDD ---------------------- а те чё впадлу еще одну строчку дописать?) меня лично и так устраивает
такой вопрос... есть БД, в ней таблицы..программо создал в DBGrid поле типа Lookup на основе существующего в бд... Как произвести сортировку в этом не существуюзем поле?? ругается..
Zitt, что то я тебя не понимаю, DBGrid визуальный компонент кот показывает, по русски говоря что там в датасоурсе, в нем нельзя создать поле локап(я так думаю попробывать в голову не приходило такой идеи), поле локап можно создать в таблице(на кот в свою очередь и указывает дата соурс) или запросе. С таблицей в твоем случае будет тажа проблема, поэтому юзай скюэль запрос. Если нужно подробней могу расписать, скажи только названия полей и таблиц.
ну если точна я через ADOTable создал новое поле.... поле называется например Name и в нем надо по алфавиту отсортировать данные...
Всем привет! У меня такой вопрос. Можно ли при написании программы пометить ее часть, ну например создать массив из чисел или определенную строку, чтобы при открытии этой проги из другой, можно было бы сделать SetFilePointer ({наша метка}); Ну типа как сигнатура у вируса..... Спасибо.
to Hellsp@wn: Я конечно не очень дружу c asm, но тут мне кажется маленько не то... У меня это так : // Открываем файл на чтение hFile := CreateFile( MyFile, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); //Теперль нужно прочитать с определенного место SetFilePointer(hFile, Хз скоко байт пробустить, FILE_BEGIN); // от начала файла // Мне нужно сдвинуть указатель на определенную метку файла с дискриптором hFile.... а не прыгнуть jmp в моей программе...
Code: function SetFilePointer( hFile: THandle; lDistanceToMove: Longint; lpDistanceToMoveHigh: Pointer; dwMoveMethod: DWORD ): DWORD; stdcall; Первый параметр - указатель на открытый файл. Второй параметр определяет количество байт, на которые надо передвинуться. Третий параметр я ХЗ для чего. Последний параметр - это флаг определяющий откуда надо начинать двигаться: FILE_BEGIN - Передвигаться от начала файла к концу. FILE_CURRENT - Передвинуться начиная от текущей позиции к концу. FILE_END - Передвигаться от конца файла к началу. Функция с случае успеха вернёт младший байт установленной позиции. узнать текущую позицию в файле можно так: SetFilePointer(hFile,0, 0, FILE_CURRENT); вот то что тебе надо: Code: var hfile:cardinal; begin hFile := CreateFile('C:\myfile.txt', GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); showmessage(inttostr(SetFilePointer(hFile,5, 0, FILE_BEGIN))); //сдивигаем текушую позицию в файле на 5 и выводим её в сообщении showmessage(inttostr(SetFilePointer(hFile,0, 0, FILE_CURRENT))); //узнаем текущую позицию файла и видим что предыдущая операция выполнила свое дело я так понял у тебя не получалось потому что забыл про lpDistanceToMoveHigh: Pointer; удачи...
to KIR@PRO: и ты не угадал! Я наверно неудачно задал вопрос!? Я отлично знаю как пользоваться функцией SetFilePointer... я Joiner пишу и возникла задача как разделить Stub и собственно говоря сами файлы чтобы их извлечь в дальнейшем в TEMP... Мне нужно пометить границы файлов, чтоб в дальнейшем я мог прочитать в буфер с байта X количество размером с файл.....
это ты не понял, тут 2 пути, или поиском искать метку или записывать чёткий адрес в переменную. типо const dwoffset: dword = $11223344; // размер стаба? ... SetFilePointer(hFile,dwoffset,FILE_BEGIN); если файл идёт сразу после стаба, то dwoffset это размер стаба. если нет, то надо посмотреть в HEX-редакторе, где тот файл(ы), который джоиниться. з.ы. читай статьи по написанию джоинеров.