HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 24.12.2009, 11:18
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 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..
 
Ответить с цитированием

  #2  
Старый 24.12.2009, 11:54
a1ertso
Новичок
Регистрация: 16.12.2009
Сообщений: 29
С нами: 8633638

Репутация: 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]
 
Ответить с цитированием

  #3  
Старый 24.12.2009, 13:51
n1ghtstalker
Познающий
Регистрация: 28.09.2008
Сообщений: 65
С нами: 9273261

Репутация: 8
По умолчанию

Эм товарищ массив тогда по задаче должен быть двумерный,а у вас одномерный.
Для нахождения мин элемента сравниваете по строчно элементы,а потом в новый одномерный массив записывайте мин элемент.
В новом цикле если a[i,j]=b[i] then a[i,j]:=j; где j соответственно столбец.
 
Ответить с цитированием

  #4  
Старый 24.12.2009, 20:07
Vasek13
Новичок
Регистрация: 13.05.2009
Сообщений: 12
С нами: 8945294

Репутация: -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.

В чем ошибка подскажите плз
 
Ответить с цитированием

  #5  
Старый 24.12.2009, 23:08
n1ghtstalker
Познающий
Регистрация: 28.09.2008
Сообщений: 65
С нами: 9273261

Репутация: 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.
вот собственно и всё.
 
Ответить с цитированием

  #6  
Старый 24.12.2009, 20:17
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами: 8947056

Репутация: 229
По умолчанию

Как завершить поток созданный CreateThread?
Гуглил -> не нашел
 
Ответить с цитированием

  #7  
Старый 24.12.2009, 20:21
transserg
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
С нами: 9399214

Репутация: 52
По умолчанию

Цитата:
Сообщение от wolmer  
Как завершить поток созданный CreateThread?
Гуглил -> не нашел
TerminateThread(<Хендл потока>,<Код завершения обычно 0>)
вот ссыль на мсдн http://msdn.microsoft.com/en-us/library/ms686717(VS.85).aspx

Последний раз редактировалось transserg; 24.12.2009 в 20:25..
 
Ответить с цитированием

  #8  
Старый 24.12.2009, 20:33
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами: 8947056

Репутация: 229
По умолчанию

Цитата:
TerminateThread(<Хендл потока>,<Код завершения обычно 0>)
вот ссыль на мсдн http://msdn.microsoft.com/en-us/library/ms686717(VS.85).aspx
Что то не работает, можно маленький пример с TerminateThread? (скорее всего что-то не так делаю)
 
Ответить с цитированием

  #9  
Старый 24.12.2009, 20:36
transserg
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
С нами: 9399214

Репутация: 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..
 
Ответить с цитированием

  #10  
Старый 24.12.2009, 23:22
Fireblade
Познающий
Регистрация: 31.03.2009
Сообщений: 53
С нами: 9007085

Репутация: 11
По умолчанию

Как сделать в дельфи чтоб текст в Label выводился не сразу, а через какой-нибудь промежуток времени? Пример плиз приведите ))
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2569 10.05.2026 13:27
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.