а нет видишь в чем загвозтка мало того что надо скопировать так и дискета должна быть сделанна под загрузчик.
» Вопросы по Delphi
HelL_Doctor
Если будешь копировать загрузочную дискету посекторно, получится загрузочная. Но я так понимаю тебе надо самому создать дискету ? Когда то на Паскале я делал нечто похожее на DiskDupe, если найду исходники могу дать, только в вине совсем друго принцип ... Скопировать дискету легко, создать самому проблематично.
Если будешь копировать загрузочную дискету посекторно, получится загрузочная. Но я так понимаю тебе надо самому создать дискету ? Когда то на Паскале я делал нечто похожее на DiskDupe, если найду исходники могу дать, только в вине совсем друго принцип ... Скопировать дискету легко, создать самому проблематично.
Всем привет!
Есть вопрос. Делаю "выплывающую панель" так:
if not PnMain.Visible then
begin
PnMain.Height := 0;
PnMain.Visible := True;
i := 0;
while i <= 265 do
begin
PnMain.Height := i + 25;
i := i + 25;
end; // while
end;
Но.. Будет ли это работать на слабых машинах нормально? Может есть другие верные и более правильные решения?
Заранее благодарен.
Есть вопрос. Делаю "выплывающую панель" так:
if not PnMain.Visible then
begin
PnMain.Height := 0;
PnMain.Visible := True;
i := 0;
while i <= 265 do
begin
PnMain.Height := i + 25;
i := i + 25;
end; // while
end;
Но.. Будет ли это работать на слабых машинах нормально? Может есть другие верные и более правильные решения?
Заранее благодарен.
Shadi
Я бы делал через таймер, так как в Вашем случае скорость перемещения будет зависеть от производительности компьютера, а это нехорошо.
Я бы делал через таймер, так как в Вашем случае скорость перемещения будет зависеть от производительности компьютера, а это нехорошо.
MrZeRo
Маленький примерчик плиз....
Маленький примерчик плиз....
Shadi
Просто в событии OnTimer напиши что то вроде
if i <= 265 then
begin
PnMain.Height := i + 25;
i := i + 25;
end;
Добавлено:
i должна быть объявлена как член класса, а не переменная метода
Просто в событии OnTimer напиши что то вроде
if i <= 265 then
begin
PnMain.Height := i + 25;
i := i + 25;
end;
Добавлено:
i должна быть объявлена как член класса, а не переменная метода
FAngel
Подскажи пожалуйста, как копировать дискету по секторам
Подскажи пожалуйста, как копировать дискету по секторам
HelL_Doctor
В досе чтение сектора выглядело примерно так :
Function ReadBoot:Integer;
Var b:array[0..1024] of Byte;Reg:Registers;
Begin
Reg.bx := Ofs(b);
Reg.es := Seg(b);
Reg.ah:=$02;
REg.al:=$1;
reg.ch:=$0;
reg.cl:=$1;
reg.dl:=$80;
reg.dh:=$1;
intr($13,reg);
ReadBoot:=b[39]+b[40]+b[41]+b[42];
End;
Функция читает загрузочный сектор диска и возвращает его серийный номер (FAT16) .... Все в вине есно работать не будет
Вот тут http://www.relib.com/forums/topic.asp?id=813614 народ решал проблему с чтением сектора дискеты, тебе подойдет.
В досе чтение сектора выглядело примерно так :
Function ReadBoot:Integer;
Var b:array[0..1024] of Byte;Reg:Registers;
Begin
Reg.bx := Ofs(b);
Reg.es := Seg(b);
Reg.ah:=$02;
REg.al:=$1;
reg.ch:=$0;
reg.cl:=$1;
reg.dl:=$80;
reg.dh:=$1;
intr($13,reg);
ReadBoot:=b[39]+b[40]+b[41]+b[42];
End;
Функция читает загрузочный сектор диска и возвращает его серийный номер (FAT16) .... Все в вине есно работать не будет
Вот тут http://www.relib.com/forums/topic.asp?id=813614 народ решал проблему с чтением сектора дискеты, тебе подойдет.
Люди, подскажите как написать системную службу на Delphi
YFred
File, New, Other, Service и вперед
File, New, Other, Service и вперед
YFred
Program Files\Borland\Delphi7\Source\Vcl\ScktSrvr.dpr - эту фигнею половина современных COM/DCOM приложений и не только на делпхи используют.
Program Files\Borland\Delphi7\Source\Vcl\ScktSrvr.dpr - эту фигнею половина современных COM/DCOM приложений и не только на делпхи используют.
To All
Может кто сталкивался с такой проблемой в Delphi 7. Проблема заключается в том, что при использовании TChart 7 в проекте были задействованы события OnZoom, OnUndoZoom, OnScroll, для которых были написаны обработчики. Так вот прикол заключается в том, что после сохранения всех изменений в проекте и при последующей загрузке проекта, связь на закладке events для этих событий сбрасывается. Если же создать обработку событий, отличных от трёх вышеперечисленных, то для этих событий на закладке events всё отображается как положено. В чём может быть причина и каковы возможные пути её решения?
Заранее спасибо
Может кто сталкивался с такой проблемой в Delphi 7. Проблема заключается в том, что при использовании TChart 7 в проекте были задействованы события OnZoom, OnUndoZoom, OnScroll, для которых были написаны обработчики. Так вот прикол заключается в том, что после сохранения всех изменений в проекте и при последующей загрузке проекта, связь на закладке events для этих событий сбрасывается. Если же создать обработку событий, отличных от трёх вышеперечисленных, то для этих событий на закладке events всё отображается как положено. В чём может быть причина и каковы возможные пути её решения?
Заранее спасибо
YuraseK
Цитата:
Глюк наверно.
Цитата:
Перезагрузка ?
Можно попробывать переименовать как нибудь по-другому.
Цитата:
Так вот прикол заключается в том, что после сохранения всех изменений в проекте и при последующей загрузке проекта, связь на закладке events для этих событий сбрасывается.
Глюк наверно.
Цитата:
В чём может быть причина и каковы возможные пути её решения?
Перезагрузка ?
Можно попробывать переименовать как нибудь по-другому.
FAngel
Цитата:
А как такую программу потом запустить как сервис.
Цитата:
File, New, Other, Service и впере
А как такую программу потом запустить как сервис.
YFred
Обычно сервис сначала регистрируют, потом его можно например через консоль запустить.
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Инсталляция/удаление сервисов под НТ.
Функции для создавания и удаления NT Services.
Можно создать NT Service от текущее приложение. Параметры:
1. CreateNTService(ExecutablePath,ServiceName: String)
ExecutablePath - Полный путь к изполнимого файла от которого создавается NT Service
ServiceName - Имя сервиза которое отобразится в Service Control Manager
Результат:
true - если операциая завершена успешно
false - если есть ошибка. Можно произвести call то
GetLastError чтобы информироваться об естество ошибки
2. DeleteNTService(ServiceName: String):boolean;
ServiceName - имя сервиза подлежающии удаления
Результат:
true - если операциая завершена успешно
false - если есть ошибка. Можно произвести call то GetLastError чтобы
информироваться об естество ошибки
Зависимости: WinSVC, Windows
Автор: Alex Kantchev, stoma@bitex.bg
Copyright: Собственное написание
Дата: 19 июня 2002 г.
***************************************************** }
// CreateNTService(ExecutablePath,ServiceName: String)
// ExecutablePath - Полный путь к изполнимого файла от
// которого создавается NT Service
// ServiceName - Имя сервиза которое отобразится
// в Service Control Manager Результат:
//Результат:
// true - если операциая завершена успешно
// false - если есть ошибка. Можно произвести
// call то GetLastError чтобы информироваться об
// естество ошибки
function CreateNTService(ExecutablePath, ServiceName: string): boolean;
var
hNewService, hSCMgr: SC_HANDLE;
// Rights: DWORD;
FuncRetVal: Boolean;
begin
FuncRetVal := False;
hSCMgr := OpenSCManager(nil, nil, SC_MANAGER_CREATE_SERVICE);
if (hSCMgr <> 0) then
begin
//Custom service access rights may be built here
//we use GENERIC_EXECUTE which is combination of
//STANDARD_RIGHTS_EXECUTE, SERVICE_START, SERVICE_STOP,
//SERVICE_PAUSE_CONTINUE, and SERVICE_USER_DEFINED_CONTROL
//You can create own rights and use them as shown in the
//commented line below.
//Rights := STANDARD_RIGHTS_REQUIRED or SERVICE_START or SERVICE_STOP
// or SERVICE_QUERY_STATUS or SERVICE_PAUSE_CONTINUE or
// SERVICE_INTERROGATE;
hNewService := CreateService(hSCMgr, PChar(ServiceName), PChar(ServiceName),
STANDARD_RIGHTS_REQUIRED, SERVICE_WIN32_OWN_PROCESS,
SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL,
PChar(ExecutablePath), nil, nil, nil, nil, nil);
CloseServiceHandle(hSCMgr);
if (hNewService <> 0) then
FuncRetVal := true
else
FuncRetVal := false;
end;
CreateNTService := FuncRetVal;
end;
Запуск сервиса :
procedure StartService(ServiceName: string);
var
schService,
schSCManager: Dword;
p: PChar;
begin
p := nil;
schSCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if schSCManager = 0 then
RaiseLastWin32Error;
try
schService := OpenService(schSCManager, PChar(ServiceName),
SERVICE_ALL_ACCESS);
if schService = 0 then
RaiseLastWin32Error;
try
if not Winsvc.startService(schService, 0, p) then
RaiseLastWin32Error;
finally
CloseServiceHandle(schService);
end;
finally
CloseServiceHandle(schSCManager);
end;
end;
Обычно сервис сначала регистрируют, потом его можно например через консоль запустить.
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Инсталляция/удаление сервисов под НТ.
Функции для создавания и удаления NT Services.
Можно создать NT Service от текущее приложение. Параметры:
1. CreateNTService(ExecutablePath,ServiceName: String)
ExecutablePath - Полный путь к изполнимого файла от которого создавается NT Service
ServiceName - Имя сервиза которое отобразится в Service Control Manager
Результат:
true - если операциая завершена успешно
false - если есть ошибка. Можно произвести call то
GetLastError чтобы информироваться об естество ошибки
2. DeleteNTService(ServiceName: String):boolean;
ServiceName - имя сервиза подлежающии удаления
Результат:
true - если операциая завершена успешно
false - если есть ошибка. Можно произвести call то GetLastError чтобы
информироваться об естество ошибки
Зависимости: WinSVC, Windows
Автор: Alex Kantchev, stoma@bitex.bg
Copyright: Собственное написание
Дата: 19 июня 2002 г.
***************************************************** }
// CreateNTService(ExecutablePath,ServiceName: String)
// ExecutablePath - Полный путь к изполнимого файла от
// которого создавается NT Service
// ServiceName - Имя сервиза которое отобразится
// в Service Control Manager Результат:
//Результат:
// true - если операциая завершена успешно
// false - если есть ошибка. Можно произвести
// call то GetLastError чтобы информироваться об
// естество ошибки
function CreateNTService(ExecutablePath, ServiceName: string): boolean;
var
hNewService, hSCMgr: SC_HANDLE;
// Rights: DWORD;
FuncRetVal: Boolean;
begin
FuncRetVal := False;
hSCMgr := OpenSCManager(nil, nil, SC_MANAGER_CREATE_SERVICE);
if (hSCMgr <> 0) then
begin
//Custom service access rights may be built here
//we use GENERIC_EXECUTE which is combination of
//STANDARD_RIGHTS_EXECUTE, SERVICE_START, SERVICE_STOP,
//SERVICE_PAUSE_CONTINUE, and SERVICE_USER_DEFINED_CONTROL
//You can create own rights and use them as shown in the
//commented line below.
//Rights := STANDARD_RIGHTS_REQUIRED or SERVICE_START or SERVICE_STOP
// or SERVICE_QUERY_STATUS or SERVICE_PAUSE_CONTINUE or
// SERVICE_INTERROGATE;
hNewService := CreateService(hSCMgr, PChar(ServiceName), PChar(ServiceName),
STANDARD_RIGHTS_REQUIRED, SERVICE_WIN32_OWN_PROCESS,
SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL,
PChar(ExecutablePath), nil, nil, nil, nil, nil);
CloseServiceHandle(hSCMgr);
if (hNewService <> 0) then
FuncRetVal := true
else
FuncRetVal := false;
end;
CreateNTService := FuncRetVal;
end;
Запуск сервиса :
procedure StartService(ServiceName: string);
var
schService,
schSCManager: Dword;
p: PChar;
begin
p := nil;
schSCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if schSCManager = 0 then
RaiseLastWin32Error;
try
schService := OpenService(schSCManager, PChar(ServiceName),
SERVICE_ALL_ACCESS);
if schService = 0 then
RaiseLastWin32Error;
try
if not Winsvc.startService(schService, 0, p) then
RaiseLastWin32Error;
finally
CloseServiceHandle(schService);
end;
finally
CloseServiceHandle(schSCManager);
end;
end;
YuraseK
Цитата:
Иногда такое наблюдалось и на младших версиях. Просто вставь в код принудительное прописывание этих обработчиков. (самое простое решение).
Второе решение это попробовать создать форму заново, не всегда но помогало.
Цитата:
Так вот прикол заключается в том, что после сохранения всех изменений в проекте и при последующей загрузке проекта, связь на закладке events для этих событий сбрасывается.
Иногда такое наблюдалось и на младших версиях. Просто вставь в код принудительное прописывание этих обработчиков. (самое простое решение).
Второе решение это попробовать создать форму заново, не всегда но помогало.
YuraseK
Я бы воспользовался версией Tee Chart Pro (поставляется отдельно от Delphi), там есть исходники, можно в случае чего определить причину. Сам пользуюсь постоянно только Pro - версией, и все благополучно было пока.
Я бы воспользовался версией Tee Chart Pro (поставляется отдельно от Delphi), там есть исходники, можно в случае чего определить причину. Сам пользуюсь постоянно только Pro - версией, и все благополучно было пока.
Может здесь помогут.
Необходимо написать генератор случайный чисел работающий по нормальному распределению. Алоритм написан необходимо построить график и вывести таблицу вероятность переода из каждой точки в любую. Проблема заключается в том что вероятность в центре фигуры по таблице идёт реальная уменьшаясь к краям. Но на последних значениях вместо того что-бы обратиться практически в 0 наблюдается необьяснимый всплеск. Причём чем больше количество опытов тем результат на концах более бредовый. В чём может быть проблема.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, ComCtrls,
Grids,math;
type
TForm1 = class(TForm)
Chart1: TChart;
Button1: TButton;
LECount: TLabeledEdit;
LEDis: TLabeledEdit;
PB: TProgressBar;
Label1: TLabel;
SG: TStringGrid;
LEMat: TLabeledEdit;
Series1: TAreaSeries;
procedure Button1Click(Sender: TObject);
private
procedure GrdClear;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.GrdClear; //Ïðîöåäóðà î÷èñòêè
var
i,j:byte;
begin
SG.Cols[0].Clear;
for i:=1 to 30 do
begin
SG.Cols[i].Clear;
SG.Cells[0,i]:=inttostr(i);
SG.Cells[i,0]:=inttostr(i);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k,l,colcount,mat:integer;
count: array [-100 .. 100]of longint;
cnt:array[-34..34,-34..34] of longint;
cnt2:array[-34..34] of longint;
dis,znach,znachp:real;
numcount,min:longint;
U : Double;
V : Double;
S : Double;
Sum : Double;
begin
Button1.Caption:='Ãåíåðèðóåòñÿ ...';
Button1.Enabled:=false;
Button1.Repaint;
PB.Position:=0;
PB.Max:=0;
PB.Min:=0;
colcount:=strtoint(LECount.Text);
dis:=strtofloat(LEDis.Text);
mat:=strtoint(LEMat.Text);
Chart1.Series[0].Clear;
PB.Max:=colcount;
for i:=-34 to 34 do cnt2[i]:=1;
for i:=-34 to 34 do for j:= -34 to 34 do cnt[i,j]:=0;
for i:=-100 to 100 do count[i]:=0;
znachp:=1;
for i:=0 to colcount-1 do
begin
sum:=2;
repeat
u := (2*floor( Random(2))-1)*Random;
v := (2*floor(Random(2))-1)*Random;
sum := u*u+v*v;
until (sum<1) and (sum>0);
sum := sqrt(-2*ln(sum)/sum);
znach := dis*u*sum+mat;
if (znach>-99) and (znach <99) then
begin
count[round(znach)]:=count[round(znach)]+1;
k:=round(znachp);
if k<-99 then k:=-99;
if k>99 then k:=99;
k:=k div 3;
l:=round(znach);
if l<-99 then l:=-99;
if l>99 then l:=99;
l:=l div 3;
cnt[k,l]:=cnt[k,l]+1;
cnt2[l]:=cnt2[l]+1;
znachp:=znach;
end;
if (i /(colcount div 100))=(i div (colcount div 100)) then PB.Position:=i;
end;
//Ñòðîèì ãðàôèê
for i:=-99 to 99 do
begin
if(count[i]>0) then Chart1.Series[0].AddXY(i,count[i]);
end;
numcount:=0;
min:=-500;
for i:=-33 to 33 do
if cnt2[i]>1 then
begin
numcount:=numcount+1;
if min=-500 then min:=i;
end;
//Ãðàíèöû äëÿ òàáëèöû
SG.ColCount:=numcount+2;
SG.RowCount:=numcount+2;
//Íóìåðóåì òàáëèöó
for i:=min to min+numcount do
begin
SG.Cells[0,i-min+1]:=inttostr(i);
SG.Cells[i-min+1,0]:=inttostr(i);
end;
//Çàïîëíÿåì òàáëèöó
for i:=min to min+numcount do
for j:=min to min+numcount do
if cnt2[j]<>1 then SG.Cells[i-min+1,j-min+1]:=floattostr(cnt[j,i]/(cnt2[j]-1)*100); //Çàïîëíÿåì ÿ÷åéêè
PB.Position:=colcount;
Button1.Caption:='Ãåíåðèðîâàòü';
Button1.Enabled:=true;
end;
end.
Русский текст здесь был несущественнен.
http://up.li.ru/files/2005/04/19/53787.JPG;ACDSee+7.0+BMP+Image.JPG
Необходимо написать генератор случайный чисел работающий по нормальному распределению. Алоритм написан необходимо построить график и вывести таблицу вероятность переода из каждой точки в любую. Проблема заключается в том что вероятность в центре фигуры по таблице идёт реальная уменьшаясь к краям. Но на последних значениях вместо того что-бы обратиться практически в 0 наблюдается необьяснимый всплеск. Причём чем больше количество опытов тем результат на концах более бредовый. В чём может быть проблема.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, ComCtrls,
Grids,math;
type
TForm1 = class(TForm)
Chart1: TChart;
Button1: TButton;
LECount: TLabeledEdit;
LEDis: TLabeledEdit;
PB: TProgressBar;
Label1: TLabel;
SG: TStringGrid;
LEMat: TLabeledEdit;
Series1: TAreaSeries;
procedure Button1Click(Sender: TObject);
private
procedure GrdClear;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.GrdClear; //Ïðîöåäóðà î÷èñòêè
var
i,j:byte;
begin
SG.Cols[0].Clear;
for i:=1 to 30 do
begin
SG.Cols[i].Clear;
SG.Cells[0,i]:=inttostr(i);
SG.Cells[i,0]:=inttostr(i);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k,l,colcount,mat:integer;
count: array [-100 .. 100]of longint;
cnt:array[-34..34,-34..34] of longint;
cnt2:array[-34..34] of longint;
dis,znach,znachp:real;
numcount,min:longint;
U : Double;
V : Double;
S : Double;
Sum : Double;
begin
Button1.Caption:='Ãåíåðèðóåòñÿ ...';
Button1.Enabled:=false;
Button1.Repaint;
PB.Position:=0;
PB.Max:=0;
PB.Min:=0;
colcount:=strtoint(LECount.Text);
dis:=strtofloat(LEDis.Text);
mat:=strtoint(LEMat.Text);
Chart1.Series[0].Clear;
PB.Max:=colcount;
for i:=-34 to 34 do cnt2[i]:=1;
for i:=-34 to 34 do for j:= -34 to 34 do cnt[i,j]:=0;
for i:=-100 to 100 do count[i]:=0;
znachp:=1;
for i:=0 to colcount-1 do
begin
sum:=2;
repeat
u := (2*floor( Random(2))-1)*Random;
v := (2*floor(Random(2))-1)*Random;
sum := u*u+v*v;
until (sum<1) and (sum>0);
sum := sqrt(-2*ln(sum)/sum);
znach := dis*u*sum+mat;
if (znach>-99) and (znach <99) then
begin
count[round(znach)]:=count[round(znach)]+1;
k:=round(znachp);
if k<-99 then k:=-99;
if k>99 then k:=99;
k:=k div 3;
l:=round(znach);
if l<-99 then l:=-99;
if l>99 then l:=99;
l:=l div 3;
cnt[k,l]:=cnt[k,l]+1;
cnt2[l]:=cnt2[l]+1;
znachp:=znach;
end;
if (i /(colcount div 100))=(i div (colcount div 100)) then PB.Position:=i;
end;
//Ñòðîèì ãðàôèê
for i:=-99 to 99 do
begin
if(count[i]>0) then Chart1.Series[0].AddXY(i,count[i]);
end;
numcount:=0;
min:=-500;
for i:=-33 to 33 do
if cnt2[i]>1 then
begin
numcount:=numcount+1;
if min=-500 then min:=i;
end;
//Ãðàíèöû äëÿ òàáëèöû
SG.ColCount:=numcount+2;
SG.RowCount:=numcount+2;
//Íóìåðóåì òàáëèöó
for i:=min to min+numcount do
begin
SG.Cells[0,i-min+1]:=inttostr(i);
SG.Cells[i-min+1,0]:=inttostr(i);
end;
//Çàïîëíÿåì òàáëèöó
for i:=min to min+numcount do
for j:=min to min+numcount do
if cnt2[j]<>1 then SG.Cells[i-min+1,j-min+1]:=floattostr(cnt[j,i]/(cnt2[j]-1)*100); //Çàïîëíÿåì ÿ÷åéêè
PB.Position:=colcount;
Button1.Caption:='Ãåíåðèðîâàòü';
Button1.Enabled:=true;
end;
end.
Русский текст здесь был несущественнен.
http://up.li.ru/files/2005/04/19/53787.JPG;ACDSee+7.0+BMP+Image.JPG
Подскажите, где можно почитать про программирование сервисов на Delphi? Общий принцип понятен, но хотелось бы узнать о некоторых тонкостях (включая создание событий типа OnInstall и пр.)
Заранее благодарен...
Заранее благодарен...
papirus3
Слушай, кинь человеческую версию программы, а не
Цитата:
Совершенно пропадает желание разбираться.
Сделай, чтобы было по-русски.
Добавлено:
Larry Laffer
Думаю много можно найти, например, тут: http://www.delphikingdom.ru/table/search.asp?namekey=%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81&ItemID=&isQuestion=1&Qwaddress=&TypeEqv=0&Count=10
Слушай, кинь человеческую версию программы, а не
Цитата:
//Çàïîëíÿåì òàáëèöó
Совершенно пропадает желание разбираться.
Сделай, чтобы было по-русски.
Добавлено:
Larry Laffer
Думаю много можно найти, например, тут: http://www.delphikingdom.ru/table/search.asp?namekey=%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81&ItemID=&isQuestion=1&Qwaddress=&TypeEqv=0&Count=10
Tema
В общем здесь прога.
http://webfile.ru/272395
В листинге есть пару пометок.
Посмотри может что наёдешь. В понедельник утром крайний срок сдачи.
В общем здесь прога.
http://webfile.ru/272395
В листинге есть пару пометок.
Посмотри может что наёдешь. В понедельник утром крайний срок сдачи.
papirus3
Поясни проблему на примере каком-нибудь. Я не понимаю в чём проблема у тебя.
Кстати:
что там внизу и справа в таблице 9 и 10-я колонки делают, если в минус только до 8?
Я не понял что НУЖНО ПОЛУЧИТЬ.
Поясни проблему на примере каком-нибудь. Я не понимаю в чём проблема у тебя.
Кстати:
что там внизу и справа в таблице 9 и 10-я колонки делают, если в минус только до 8?
Я не понял что НУЖНО ПОЛУЧИТЬ.
Tema
Так вот в этом и проблема в данном случае в -8 участке (кстати участки примерно по 3 точки) т.е. -8 участок это где-то X=-8*3=-24 вероятность попадания в эти участки должна быть ещё меньше чем -7 а тут смотри вероятность того что точка после участка -1 (это строка) независимо и случайно попадёт на участок -7 (это столбец на пересечении этой строки и столбца) равна 0,002 а на участок -8 должна быть ещё меньше а она вдруг 5,22 Так-же и справа. Причём если увеличить кол-во испытаний то точность должна увеличиваться а вспесков напротив становиться даже больше. Соответственно чем больше дисперсия тем больше такого бреда. И в чём тут дело я разбираюсь уже 2 недели (тогда был сроки сдачи курсовой =) )
Добавлено:
Tema
Что там колонки делают не суть важно мне нужно другой глюк исправить что-бы числа нормально от центра уменьшались.
Кстати попробовал сделать 2 SG и в один записывал то что и получалось а в другой при записи значение умножил не на 100 как обычно (ну что-бы получалась вероятность в процентах) а на 1000 и смотри что получилось.
При умножении на 100 там опять 5,22 (кстати числа всегде и везде разные а тут ВСЕГДА 5,22 правда иногда исчезает) а на 1000 там 0,00522 что уже более менее возможно (хотя опять-же откуда оно берётся?)
http://up.li.ru/files/2005/04/24/55626.JPG;ACDSee+7.0+BMP+Image.JPG
Так вот в этом и проблема в данном случае в -8 участке (кстати участки примерно по 3 точки) т.е. -8 участок это где-то X=-8*3=-24 вероятность попадания в эти участки должна быть ещё меньше чем -7 а тут смотри вероятность того что точка после участка -1 (это строка) независимо и случайно попадёт на участок -7 (это столбец на пересечении этой строки и столбца) равна 0,002 а на участок -8 должна быть ещё меньше а она вдруг 5,22 Так-же и справа. Причём если увеличить кол-во испытаний то точность должна увеличиваться а вспесков напротив становиться даже больше. Соответственно чем больше дисперсия тем больше такого бреда. И в чём тут дело я разбираюсь уже 2 недели (тогда был сроки сдачи курсовой =) )
Добавлено:
Tema
Что там колонки делают не суть важно мне нужно другой глюк исправить что-бы числа нормально от центра уменьшались.
Кстати попробовал сделать 2 SG и в один записывал то что и получалось а в другой при записи значение умножил не на 100 как обычно (ну что-бы получалась вероятность в процентах) а на 1000 и смотри что получилось.
При умножении на 100 там опять 5,22 (кстати числа всегде и везде разные а тут ВСЕГДА 5,22 правда иногда исчезает) а на 1000 там 0,00522 что уже более менее возможно (хотя опять-же откуда оно берётся?)
http://up.li.ru/files/2005/04/24/55626.JPG;ACDSee+7.0+BMP+Image.JPG
Может кто сталкивался со следующей пробемой в Delphi с компонентом Memo. Как без всяких извратов изменить содержимое Memo, чтобы после этого изменения при помощи стандартного Memo.Undo можно было бы отменить эти изменения?
YuraseK
Цитата:
Обычное Undo отменяет ровно одно последнее изменение, если хочешь большего, то создавай очередь изменений и в общем начинай извращаться иначе никак. Как вариант, просто перед самым первм изменением копируешь в переменную текст всего Мемо и событии Undo обратно запихиваешь туда его первоначальное значение.
Цитата:
Как без всяких извратов изменить содержимое Memo, чтобы после этого изменения при помощи стандартного Memo.Undo можно было бы отменить эти изменения?
Обычное Undo отменяет ровно одно последнее изменение, если хочешь большего, то создавай очередь изменений и в общем начинай извращаться иначе никак. Как вариант, просто перед самым первм изменением копируешь в переменную текст всего Мемо и событии Undo обратно запихиваешь туда его первоначальное значение.
Начал юзать D9. Прохожу по редактору кода и среда время от врмени начинает жуткол тормозить, виснет секунды на 3. Может там каие проврки тяжелые происходят, кто знает?
DimonXP
Подобное наблюдается и в 7. Это связано стем, что делфа строит "таблицу" что где обявлено, чтобы когда навёл на переменную, всплывала подсказка.
Подобное наблюдается и в 7. Это связано стем, что делфа строит "таблицу" что где обявлено, чтобы когда навёл на переменную, всплывала подсказка.
Вот так получше
Tools | Editor Options | Code Insight
В группе Automatic features снять все птички, кроме Tooltip expression evaluation. При необходимости используйте Ctrl+пробел (для Code completion) и Ctrl+Shift+пробел (для параметров функций).
Tools | Editor Options | Code Insight
В группе Automatic features снять все птички, кроме Tooltip expression evaluation. При необходимости используйте Ctrl+пробел (для Code completion) и Ctrl+Shift+пробел (для параметров функций).
Люди... а можно из DBGrid убрать "стрелочку"? Ну, такая вертикальная колонка слева, там стрелочка показывает выбранную строку .
2Polkan
В Options > dgIndicator
В Options > dgIndicator
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
Предыдущая тема: Вероятность одинакового CRC32
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.