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

13.12.2009, 15:18
|
|
Новичок
Регистрация: 11.12.2009
Сообщений: 13
Провел на форуме: 39151
Репутация:
0
|
|
Сообщение от transserg
Adalt
поробуй не строку передавать а массив чаров типа
Код:
Str:array[0..255] or char;
дожно быть все нормально
Нет так не получается. Поэтому и написал сюда вот у меня так
Код:
var buf:array[0..1000] of char;
GetWindowText(wnd, buf, 255);
showmessage(buf);
Этот вариант хорошо подходит в случае, когда у нас имеется button или другие классы. А в случает с Edit совсем е катит. пробывал еще так:
Код:
GetDlgItemText(wnd, getwindowlong(wnd,GWL_ID), buf, 255);
Тоже не получается
|
|
|

13.12.2009, 15:20
|
|
Участник форума
Регистрация: 03.07.2009
Сообщений: 151
Провел на форуме: 638378
Репутация:
41
|
|
Сообщение от [Dezzter]
Как понять, для каждого столбца матрици найти значение? Какое значение то ?
Я так понял, что номер и значение максимального элемента в столбце.
TPAXTOP, лови:
Код:
const
n=3;
var
i,j:integer;
a:array[1..n, 1..n] of integer;
max, index:integer;
begin
for i:=1 to n do
for j:=1 to n do
readln (a[i,j]);
for i:=1 to n do
begin
max:=0;
for j:=1 to n do
if a[j,i]>max then
begin
max:=a[j,i];
index:=j;
end;
writeln ('max = ', max, 'index = ', index);
end;
end.
Впринципе, выводит только номер max-элемента в столбце, просто я так понял. Можно организовать выдачу и номера самого столбца, и строки.
Последний раз редактировалось Thenno; 13.12.2009 в 15:25..
|
|
|

13.12.2009, 15:31
|
|
Познающий
Регистрация: 10.12.2009
Сообщений: 33
Провел на форуме: 19460
Репутация:
0
|
|
Сообщение от Thenno
Я так понял, что номер и значение максимального элемента в столбце.
TPAXTOP, лови:
Код:
const
n=3;
var
i,j:integer;
a:array[1..n, 1..n] of integer;
max, index:integer;
begin
for i:=1 to n do
for j:=1 to n do
readln (a[i,j]);
for i:=1 to n do
begin
max:=0;
for j:=1 to n do
if a[j,i]>max then
begin
max:=a[j,i];
index:=j;
end;
writeln ('max = ', max, 'index = ', index);
end;
end.
Впринципе, выводит только номер max-элемента в столбце, просто я так понял. Можно организовать выдачу и номера самого столбца, и строки.
да-да, это скорее всего и требовалось. БЛАГОДАРЮ!
|
|
|

13.12.2009, 17:52
|
|
Познающий
Регистрация: 03.12.2008
Сообщений: 56
Провел на форуме: 140714
Репутация:
29
|
|
Сообщение от DiHWO
Код:
begin
AssignFile(Text, 'data/text1.txt');
Reset(Text);
while not Eof(Text) do
begin
ReadLn(Text, Data);
Edit1.Text := Data;
end;
CloseFile(Text);
end.
Ошибка в такой легкой задачи... все компилиться, но текст из фпйла не выводит в эдит, хотя текст в файле есть. Что делать?
Ну после исполнения кода в edit должна вывестись последняя строчка текстового файла. Если в конце файла пустая строка - то в эдите ничего и не будет.
Если нужен весь текст, то попробуй так:
Код:
...
ReadLn(Text, Data);
Edit1.Text := Edit1.Text + Data;
...
|
|
|

13.12.2009, 18:10
|
|
Участник форума
Регистрация: 23.10.2009
Сообщений: 103
Провел на форуме: 289669
Репутация:
7
|
|
Не работает...эдит как был пустым так им и остался. В чем проблема я не знаю.
------------------------------------------
Поставил такой код:
Код:
begin
Data := 'fgd';
AssignFile(Text, 'data/text1.txt');
Reset(Text);
Edit1.Text := Data;
CloseFile(Text);
end.
Тоже не работает. Это вообще не понятно почему.
------------------------------------------
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Edit1: TEdit;
Text: TextFile;
Data: string;
implementation
{$R *.dfm}
begin
Data := 'fgd';
AssignFile(Text, 'data/text1.txt');
Reset(Text);
Edit1.Text := Data;
CloseFile(Text);
end.
Вот весь код
Последний раз редактировалось DiHWO; 13.12.2009 в 18:14..
|
|
|

13.12.2009, 21:12
|
|
Познающий
Регистрация: 03.12.2008
Сообщений: 56
Провел на форуме: 140714
Репутация:
29
|
|
Сообщение от DiHWO
Не работает...эдит как был пустым так им и остался. В чем проблема я не знаю.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Edit1: TEdit;
Text: TextFile;
Data: string;
implementation
{$R *.dfm}
begin
Data := 'fgd';
AssignFile(Text, 'data/text1.txt');
Reset(Text);
Edit1.Text := Data;
CloseFile(Text);
end.
Вот весь код
Ну как бы... У тебя объявлена глобальная переменная Edit1 типа TEdit, при этом нужный тебе edit является полем класса TForm1. И использовать его можно только после создания формы.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormShow(Sender: TObject);
var
Text: TextFile;
Data: string;
begin
Data := 'fgd';
AssignFile(Text, 'data/text1.txt');
Reset(Text);
Edit1.Text := Data;
CloseFile(Text);
end.
Последний раз редактировалось StealthMaster; 13.12.2009 в 21:19..
|
|
|

13.12.2009, 23:27
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
В Memo лежит такой текст:
58982OBjS9:::random:::random:::
Xr3A2zxtZH:::random::random:::
727GBh11cy:::random:::random:::
5C28wI6S9A:::random:::random:::
Подскажите как сделать поиск, на какой именно линии находится текст (позиция): 727GBh11cy без учёта ::: т д.... и получить номер линии.
|
|
|

14.12.2009, 01:40
|
|
Познающий
Регистрация: 03.12.2008
Сообщений: 56
Провел на форуме: 140714
Репутация:
29
|
|
Код:
function GetIndex(str: string; var Memo: TMemo): integer;
var
i: integer;
begin
Result := 0;
with Memo do
for i := 0 to Lines.Count - 1 do
if (Pos(str, Lines[i]) <> 0) then
begin
Result := i;
exit;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str: string;
begin
str := '727GBh11cy';
ShowMessage(IntToStr(GetIndex(str, Memo1)));
end;
Вроде бы так, если я правильно понял суть вопроса...
Последний раз редактировалось StealthMaster; 14.12.2009 в 01:43..
|
|
|

14.12.2009, 17:01
|
|
Участник форума
Регистрация: 23.10.2009
Сообщений: 103
Провел на форуме: 289669
Репутация:
7
|
|
ЖОПА. ничего не работает. и еще почему то нод32 ругаеться, мол вирусы. хотя раньше не ругался, и эдит раньше работал. Кто - нибудь, если не лень, скиньте мне исходник на дельфи с работающим кодом вывода в эдит чего - нибудь. Типо Edit1.Text := '2121'.
|
|
|

14.12.2009, 18:09
|
|
Новичок
Регистрация: 09.12.2009
Сообщений: 2
Провел на форуме: 1928
Репутация:
0
|
|
Сообщение от Jajce
А как можно перевести эту прогу в графический режим с использованием СтрингГрида?
Код:
{$APPTYPE CONSOLE}
type
TMatrix =
record
size: integer;
data: array of array of integer;
end;
var
m: TMatrix;
function Minor(matrix: TMatrix; i,j: integer): TMatrix;
var
a,b,a1,b1: integer;
begin
a1 := -1;
b1 := -1;
result.size := matrix.size - 1;
setlength(result.data, result.size, result.size);
for a := 0 to result.size do
begin
if a=i then
continue
else
inc(a1);
for b := 0 to result.size do
begin
if b = j then
continue
else
if b - b1 > 1 then
inc(b1)
else
b1 := 0;
result.data[a1,b1] := matrix.data[a,b];
end;
end;
end;
function Determ(matrix: TMatrix): integer;
var
i: integer;
begin
result := 0;
if matrix.size = 2 then
result := (matrix.data[0,0]*matrix.data[1,1]) - (matrix.data[0,1]*matrix.data[1,0])
else
begin
for i := 0 to matrix.size - 1 do
if odd(i+1) then
result := result + matrix.data[i,0]*Determ(Minor(matrix,i,0))
else
result := result - matrix.data[i,0]*Determ(Minor(matrix,i,0));
end;
end;
begin
m.size := 3;
setlength(m.data,3,3);
m.data[0,0] := 2;
m.data[0,1] := 4;
m.data[0,2] := -1;
m.data[1,0] := -1;
m.data[1,1] := 3;
m.data[1,2] := 2;
m.data[2,0] := 3;
m.data[2,1] := 2;
m.data[2,2] := -2;
writeln(Determ(m));
readln;
end.
Просто у самого не получается никак 
Вопрос снят. Если кому надо обращайтесь в личку
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|