ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

24.12.2009, 11:18
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 patcher ппц ты жжеш. Если нужно скрыть форму, то ты выбрал самый жестокий вариант, который дает наибольшую нагрузку на ОС (за счет прозрачности)
Такие вищи решаются намного проще.
в файле проекта (*.dpr) нужно дописать Application.ShowMainForm := false; перед Application.Run;
пример :
Код:
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm := false; // ВОТ ЭТО НУЖНО ВПИСАТЬ
Application.Run;
Ну а если форма не нужна, то можно или консольный проект с убранной директивой что это консольная прога. Или создать обычный проект, удалить все формы и в dpr файле убрать всё лишнее. Но первый вариант проще )
Последний раз редактировалось slesh; 24.12.2009 в 11:22..
|
|
|

24.12.2009, 11:54
|
|
Новичок
Регистрация: 16.12.2009
Сообщений: 29
Провел на форуме: 101927
Репутация:
0
|
|
почти всю программу написал, осталось только заменить минимальное значение каждой строки матрици, на номер столбца в котором оно находится.
Код:
PROGRAM Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
CONST
n=9; // количество элементов массива
label prog1,prog2,ASD ;
TYPE
ar=array[1..n] of real; // объявление типа массива
VAR
a:ar; // исходный массив А
s:real; // сумма отрицательных элементов
i,ppp,m:integer; // счетчик элементов
begin
Writeln('Press 1 to program #1');
Writeln('Press 2 to program #2');
readln(ppp);
if ppp=1 then goto ASD;
begin
if ppp=2 then goto prog2;
// Ввод исходных данных
ASD: WriteLn('Type ', n, ' real elements of array:');
for i:=1 to n do
Read(a);
writeln;
// Выполнение задачи
s:=0; m:=0; // начальное значение суммы
for i:=1 to n do // цикл перебора элементов массива
if (a>0) and (m<5)
then // выборка отрицательных элементов
begin
s:=s+a; // суммирование
m:=m+1;
end;
// Вывод результата
if s=0 then
WriteLn('Нет положительніх єлементов')
else
WriteLn(' S=',s:8:4);
WriteLn('***** Press <enter> to finish *****');
Readln; // задержка экрана
Readln;
end;
end.
Последний раз редактировалось slesh; 24.12.2009 в 14:25..
Причина: [code][code]
|
|
|

24.12.2009, 13:51
|
|
Познающий
Регистрация: 28.09.2008
Сообщений: 65
Провел на форуме: 152084
Репутация:
8
|
|
Эм товарищ массив тогда по задаче должен быть двумерный,а у вас одномерный.
Для нахождения мин элемента сравниваете по строчно элементы,а потом в новый одномерный массив записывайте мин элемент.
В новом цикле если a[i,j]=b[i] then a[i,j]:=j; где j соответственно столбец.
|
|
|

24.12.2009, 20:07
|
|
Новичок
Регистрация: 13.05.2009
Сообщений: 12
Провел на форуме: 533925
Репутация:
-4
|
|
Помогите с задачкой
Вводить числа с клавиатуры пока их не станет больше пяти и не попадётся число 100
Вот написал но что то ошибку пишет
Program x3;
VAR
integer:x,i;
Begin
i:=0;
while( i>=5) and (x=100) do
begin
readln(x);
inc(i);
end;
end.
В чем ошибка подскажите плз
|
|
|

24.12.2009, 23:08
|
|
Познающий
Регистрация: 28.09.2008
Сообщений: 65
Провел на форуме: 152084
Репутация:
8
|
|
Сообщение от Vasek13
Помогите с задачкой
Вводить числа с клавиатуры пока их не станет больше пяти и не попадётся число 100
Вот написал но что то ошибку пишет
Program x3;
VAR
integer:x,i;
Begin
i:=0;
while( i>=5) and (x=100) do
begin
readln(x);
inc(i);
end;
end.
В чем ошибка подскажите плз
переменная x<>100 . не равна . а то у тебя получается в цикл входит только тогда х=100, а у тебя должен выходить когда x=100.
вот собственно и всё.
|
|
|

24.12.2009, 20:17
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
Как завершить поток созданный CreateThread?
Гуглил -> не нашел
|
|
|

24.12.2009, 20:21
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
Сообщение от wolmer
Как завершить поток созданный CreateThread?
Гуглил -> не нашел
TerminateThread(<Хендл потока>,<Код завершения обычно 0>)
вот ссыль на мсдн http://msdn.microsoft.com/en-us/library/ms686717(VS.85).aspx
Последний раз редактировалось transserg; 24.12.2009 в 20:25..
|
|
|

24.12.2009, 20:33
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
TerminateThread(<Хендл потока>,<Код завершения обычно 0>)
вот ссыль на мсдн http://msdn.microsoft.com/en-us/library/ms686717(VS.85).aspx
Что то не работает, можно маленький пример с TerminateThread? (скорее всего что-то не так делаю)
|
|
|

24.12.2009, 20:36
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
а что ты в нее передаешь? то что вернула CreateThread или ThredID это полсдений параметр CreateThread. нужно передавать Хендл потока то что вернет CreateThread или OpenThread
Вот пример
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
hThrad:THAndle;
implementation
{$R *.dfm}
Function Thead(P:Pointer):LongInt;
var
i:Integer;
begin
i:=0;
while True do
begin
Form1.Memo1.Lines.Add(IntToStr(i));
Inc(i);
Sleep(1000)
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
thr:Cardinal;
begin
hThrad:=createthread(nil,0,@Thead,nil,0,thr);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
TerminateThread(hThrad,0);
end;
end.
Последний раз редактировалось transserg; 24.12.2009 в 20:45..
|
|
|

24.12.2009, 23:22
|
|
Познающий
Регистрация: 31.03.2009
Сообщений: 53
Провел на форуме: 654008
Репутация:
11
|
|
Как сделать в дельфи чтоб текст в Label выводился не сразу, а через какой-нибудь промежуток времени? Пример плиз приведите ))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|