Скажите в чем ошибка: Код Delphi procedure TForm1.ComboBox1Change(Sender: TObject); var str: TStringlist; i: integer; a,c: real; begin; if combobox1.Text='Гео' then memo1.Clear; memo1.Lines.LoadFromFile('Geo.txt') c:= 0; str:= TStringlist.Create; str.LoadFromFile('Geometr.txt'); for I := 0 to str.Count - 1 do begin a:= strtoFloat(str.Strings); c:= c+a; end; Label3.Caption:=FloattoStr(c/str.Count); end; вот какую ошибку выдает [Error] Unit1.pas(94): Missing operator or semicolon
Подскажите, как загружать файл в потоке на множество фтп? procedure TThread.Execute; ... FIdFTP.Connect; if FIdFTP.Connected then ... FIdFTP.Put('С:\1.тхт', '1.txt'); ... чтобы потокобезопасно и было без сбоев? не брать же каждый раз один и тот же файл в потоке.
В начале потока загружай в стрим и на фтп уже грузи из стрима. Или создавай временный файл для каждого потока с уникальным именем и загружай уже временный файл.
Друзья, нужна помощь! Подскажите, где промашку сделал? Заморочился с property и мне нужно, чтобы было значение поумолчанию. Но вот не получается. Кстати, в какую секцию лучше свойства писать, в public или published? Исходник: Code: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private FID: Integer; public property ID: Integer read FID write FID default 10; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ShowMessageFmt('ID = %d', [ID]); end; end.
Спецификатор default указывает сохранять значение свойства в файле формы или нет. Если значение свойства совпадает со значением default - значение в файле формы не сохраняется, если значения не равны - сохраняется. Default не устанавливает первоначальное значение свойства к указанному. Это необходимо сделать в конструкторе компонента.
arnis прав Code: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private FID: Integer; public property ID: Integer read FID write FID; constructor Create; end; var Form1: TForm1; implementation {$R *.dfm} constructor TForm1.Create; begin inherited Create; FID := 10; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessageFmt('ID = %d', [ID]); end; end. смотря для чего использовать будешь в дальнейшем.
Нет смысла определять конструктор однако, только ради того чтобы одно поле выставить? оО обработчик то составить проще
тут все просто: если он пишет компонент производный от ТФорм то конструктор, а если просто инициализировать свойства/поля которые доступны извне - то ФормКреате. Но я сомневаюсь что он пишет компонент =)
в с4 эге по информатике есть такая задача PHP: На вход программе подается набор символов, заканчивающийся точкой (в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка, или считывать данные из файла). Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая сначала будет определять, есть ли в этом наборе символы, соответствующие десятичным цифрам. Если такие символы есть, то можно ли переставить их так, чтобы полученное число было симметричным (читалось одинаково как слева направо, так и справа налево). Ведущих нулей в числе быть не должно, исключение – число 0, запись которого содержит ровно один ноль. Если требуемое число составить невозможно, то программа должна вывести на экран слово “NO”. А если возможно, то в первой строке следует вывести слово “YES”, а во второй – искомое симметричное число. Если таких чисел несколько, то программа должна выводить максимальное из них. Например, пусть на вход подаются следующие символы: Do not 911 to 09 do. В данном случае программа должна вывести YES 91019 и дается решение которое я совсем не понимаю >< PHP: var a:array['0'..'9'] of integer; {разве в масиве с типом интежер можно ставить апострафы?} c, c_odd: char; i, k: integer; f: boolean; begin for c:='0' to '9' do a[c]:=0; {как работает перебирание масива с апострафами } read(с); while c<>'.' do begin if c in ['0' .. '9'] then a[c] := a[c] + 1; {что делает оператор in} read(c); end; k := 0; for c := '0' to '9' do if a[c] mod 2 = 1 then begin k := k + 1; c_odd := c end; f := (a['0'] = 1); for c := '1' to '9' do if (a[c] > 1) or (a[c] = 1) and (a['0'] = 0) then f := true; if (k > 1)or not f then writeln('NO') else begin writeln('YES'); for c := '9' downto '0' do for i := 1 to a[c] div 2 do write(c); if k = 1 then write(c_odd); for c := '0' to '9' do for i := 1 to a[c] div 2 do write(c); end end. в коментах написал что именно не понятно , если кто то обьяснит или кинет ссылки где про это рассказывается буду благодарен ><
в с4 эге по информатике есть такая задача PHP: На вход программе подается набор символов, заканчивающийся точкой (в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка, или считывать данные из файла). Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая сначала будет определять, есть ли в этом наборе символы, соответствующие десятичным цифрам. Если такие символы есть, то можно ли переставить их так, чтобы полученное число было симметричным (читалось одинаково как слева направо, так и справа налево). Ведущих нулей в числе быть не должно, исключение – число 0, запись которого содержит ровно один ноль. Если требуемое число составить невозможно, то программа должна вывести на экран слово “NO”. А если возможно, то в первой строке следует вывести слово “YES”, а во второй – искомое симметричное число. Если таких чисел несколько, то программа должна выводить максимальное из них. Например, пусть на вход подаются следующие символы: Do not 911 to 09 do. В данном случае программа должна вывести YES 91019 и дается решение которое я совсем не понимаю >< PHP: var a:array['0'..'9'] of integer; {разве в масиве с типом интежер можно ставить апострафы?} c, c_odd: char; i, k: integer; f: boolean; begin for c:='0' to '9' do a[c]:=0; {как работает перебирание масива с апострафами } read(с); while c<>'.' do begin if c in ['0' .. '9'] then a[c] := a[c] + 1; {что делает оператор in} read(c); end; k := 0; for c := '0' to '9' do if a[c] mod 2 = 1 then begin k := k + 1; c_odd := c end; f := (a['0'] = 1); for c := '1' to '9' do if (a[c] > 1) or (a[c] = 1) and (a['0'] = 0) then f := true; if (k > 1)or not f then writeln('NO') else begin writeln('YES'); for c := '9' downto '0' do for i := 1 to a[c] div 2 do write(c); if k = 1 then write(c_odd); for c := '0' to '9' do for i := 1 to a[c] div 2 do write(c); end end. в коментах написал что именно не понятно , если кто то обьяснит или кинет ссылки где про это рассказывается буду благодарен ><
1) Да, можно. В аппострофах не сами элементы, а их ключи, соответственно ключи типа char, а элементы типа integer 2) Так же как и с integer, только по символам с='0' , '1', ... , '9' 3) Проверяет находится ли элемент в заданном множестве. Т.е. Проверяет является ли значение 'с' одним из символов ['0' .. '9']. Можно погуглить про множества в паскале.
Юзаю компонент HTTPSend Как в нем отключить прием тела страницы? Нужно отправить post и принять только заголовок что бы скорость была выше... Можно там такое сделать, не могу найти чета
Ребята помоги,мучаюсь не как не могу организовать авторизацию вконтакте и например поменять статус,или оставить сообщение на стене...Или посоветуйте что нибудь...