Вопрос № 173582: Задан список целых чисел. Удалить все отрицательные элементы, распечатать....
Вопрос № 173583: Заданы два списка символов. В одном символы "TURBO", в другом - "PASCAL". Объединить два списка, распечатать....
Вопрос № 173586: Имеется текстовый файл. Создать новый файл,переформатировав исходное деление файла на строки так, чтобы каждая строка оканчивалась точкой, либо содержала 30 литер, если среди них нет точки....
Вопрос № 173587: В файле собраны сведения о поездах: N поезда С-Петербург - Москва, время ухода из С-Петербурга, признак вагона(купейный, плацкартный) и признак наличия билета (есть, нет). Распечатать эти сведения как меню. Распечатать номера поездов, уходящих...
Вопрос № 173588: Уважаемые эксперты помогите в написание программы. Компоненты: TMainMenu1, TMemo1, TOpenDialog1, TStatusBar1. В TMemo1 загружается произвольная программа на языке Object Pascal. Нужно вывести в TStatusBar1 panel[0] каталог анализируемого фай...
Вопрос № 173600: Необходимо составить такую программу: В Richedit вводим последовательность символов (единицы и нули), нажимаем на кнопку и программа создает след. звуковой wave-файл: синусоидальные или прямоугольные колебания частотой 50 гц. и последовательностью...
Вопрос № 173582:
Задан список целых чисел. Удалить все отрицательные элементы, распечатать.
Отвечает Евгений/Genia007/, Практикант :
Здравствуйте, смирнов артем владимирович. К примеру можно сделать следующим образом: берём в richedit вводим числа, каждое число с новой строки, после нажатия кнопки перебираем все числа из списка и при нахождении отрицательного числа удаляем его, а затем готовый список распечатываем.
Код:
procedure
TForm1.Button1Click(Sender: TObject); var i: integer; s: string; begin i:= 0; while i <> RichEdit1.Lines.Count do // Пока i не будет равно количеству строк в richedit делаем begin s:= RichEdit1.Lines.Strings[i]; // Присваиваем переменной содержимое очередной строки if StrToInt(s) < 0 then // Если число меньше 0 сделать RichEdit1.Lines.Delete(i) // Удаляем строку с отрицательным
числом else inc(i); // Увеличиваем счётчик строк на 1 end; RichEdit1.Print(RichEdit1.Text); // Распечатывание содержимое richedit end;
----- Помогли тебе, помоги и ты.
Ответ отправил: Евгений/Genia007/, Практикант
Ответ отправлен: 23.10.2009, 17:18
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 255758
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 173583:
Заданы два списка символов. В одном символы "TURBO", в другом - "PASCAL". Объединить два списка, распечатать.
Отвечает Евгений/Genia007/, Практикант :
Здравствуйте, смирнов артем владимирович. Вашу задачу можно решить таким способом: В один Edit вводим первый набор символов, во второй второй набор символов, в третий выводится результат и распечатываем его на принтере, который стоит в системе по умолчанию.
Код:
uses Printers;
procedure
TForm1.Button1Click(Sender: TObject); var Prn: TextFile; i: word; begin Edit3.Text:= Edit1.Text + ' ' + Edit2.Text; // Объеденение два списка AssignPrn(Prn); // Связали файловую переменную с принтером по умолчанию try Rewrite(Prn); // Открыли файл на запись try writeln(Prn, Edit3.Text); // Напечатали список finally CloseFile(Prn); // Закрыли файл end; except
on EInOutError do // Елси ошибка выдать сообщение о ней MessageDlg('Ошибка печати.', mtError, [mbOk], 0); end; end;
Ответ отправил: Евгений/Genia007/, Практикант
Ответ отправлен: 25.10.2009, 14:01
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 255819
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 173586:
Имеется текстовый файл. Создать новый файл,переформатировав исходное деление файла на строки так, чтобы каждая строка оканчивалась точкой, либо содержала 30 литер, если среди них нет точки.
Отвечает Евгений/Genia007/, Практикант :
Здравствуйте, смирнов артем владимирович. Вот, что у меня вышло: загружаем в memo нужный нам текстовый файл, после чего происходит сборка всего содержимого из memo в одну строку и далее делим эту строку в соответствии с заданными условиями, выбираем файл для сохранения и распечатываем полученный результат.
Код:
procedure TForm1.Button1Click(Sender: TObject); var i, j: integer; s, s1: string; F: TextFile; begin s:= ''; Memo1.Clear; // Отчистили мемо Richedit1.Clear; // Отчистили ричэдит If not OpenDialog1.Execute then exit; // Если диалог не открылся выход из процедуры Memo1.Lines.LoadFromFile(OpenDialog1.FileName); // Загрузили файл в мемо For i:= 0 to Memo1.Lines.Count - 1 do // П
еребирать все строки мемо s:= s + Memo1.Lines.Strings[i]; // Собираем все строки в одну строку While Length(s) <> 0 do // Пока длина строки не равна 0 делаем begin If Length(s) > 30 then // Если длина строки больше 30 begin j:= Pos('.', s); // Ищем точку в строке if j > 30 then s1:= Copy(s, 0, 30) // Если точка находится дальше 30 литер копируем 30 литер в переменную else
If j <> 0 then s1:=Copy(s, 0, j) // Копируем строку до точки else s1:=Copy(s, 0, Length(s)); // Копируем всю строку RichEdit1.Lines.Add(s1); // Добавляем строку в ричедит end else begin While Length(s) <> 0 do // Пока длина строки не равна 0 делаем begin j:= Pos('.', s); // Ищем точку в строке
If j <> 0 then s1:=Copy(s, 0, j) // Копируем строку до точки else s1:=Copy(s, 0, Length(s)); // Копируем всю строку RichEdit1.Lines.Add(s1); // Добавляем строку в ричедит Delete(s, 1, Length(s1)); // Удаляем из строки количество обработанных символов end end; Delete(s, 1, Length(s1)); // Удаляем из строки количество обработанных символов end; If OpenDialog1.Execute
then // Открыть диалог выбора begin AssignFile(F,OpenDialog1.FileName); // Связываем файловую переменную f с именем файла из диалога Rewrite(F); // Создаём новый файл For i:= 0 to Richedit1.Lines.Count - 1 do // Перебираем все строки комбобокса Writeln(F, Richedit1.Lines.Strings[i]); // Записываем в файл строку из комбобокса CloseFile(F); // Закрыли файл end; Richedit1.Print(Richedi
t1.Text); // Рапечатать ричэдит end;
Ответ отправил: Евгений/Genia007/, Практикант
Ответ отправлен: 23.10.2009, 19:21
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 255761
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 173587:
В файле собраны сведения о поездах: N поезда С-Петербург
- Москва, время ухода из С-Петербурга, признак вагона(купейный, плацкартный) и признак наличия билета (есть, нет). Распечатать эти сведения как меню. Распечатать номера поездов, уходящих после введённого времени. Распечатать номера поездов на которые есть билеты данного типа.
Отвечает Евгений/Genia007/, Практикант :
Здравствуйте, смирнов артем владимирович. Вот что я могу Вам предложить: все сведения собраны в базу данных access и все выборки происходят при помощи query
Код:
uses Printers;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var Prn: TextFile; i:
word; begin ADOQuery1.Close; // Закрыть запрос ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('Select * from poezd ORDER BY otprav'); // Добавление новых значений в запрос ADOQuery1.Open; // Открыть запрос AssignPrn(Prn); // Связали файловую переменную с принтером по умолчанию try Rewrite(Prn); // Открыли файл на запись try if ADOQuery1.RecordCount>0 then // Проверка результата запроса begin
ADOQuery1.First; // Переход на первую запись в запросе while not ADOQuery1.Eof do // Делать пока не будет конец запроса begin writeln(Prn, ADOQuery1WideStringField.Value); // Напечатали строку writeln(Prn, ' ' + ADOQuery1Firm.Value); // Напечатали строку writeln(Prn, ' ' + TimeToStr(ADOQuery1Otprav.Value)); // Напечатали строку writeln(Prn, ' ' + ADOQuery1VagKup.Value);
// Напечатали строку writeln(Prn, ' ' + ADOQuery1BiletKup.Value); // Напечатали строку writeln(Prn, ' ' + ADOQuery1VagPlach.Value); // Напечатали строку writeln(Prn, ' ' + ADOQuery1BiletPlach.Value); // Напечатали строку ADOQuery1.Next; // Переход на следующюю запись запроса end; end; finally<
br> CloseFile(Prn); // Закрыли файл end; except on EInOutError do // Елси ошибка выдать сообщение о ней MessageDlg('Ошибка печати.', mtError, [mbOk], 0); end; end;
procedure TForm1.Button2Click(Sender: TObject); var Prn: TextFile; i: word; begin ADOQuery1.Close; // Закрыть запрос ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('Select * from poezd where otprav > tim ORDER BY otprav'); // Добавление новых значений в
запрос ADOQuery1.Parameters.ParamByName('tim').Value:= StrToTime(MaskEdit1.Text); ADOQuery1.Open; // Открыть запрос AssignPrn(Prn); // Связали файловую переменную с принтером по умолчанию try Rewrite(Prn); // Открыли файл на запись try if ADOQuery1.RecordCount>0 then // Проверка результата запроса begin ADOQuery1.First; // Переход на первую запись в запросе while not ADOQuery1.E
of do // Делать пока не будет конец запроса begin write(Prn, ADOQuery1WideStringField.Value +', '); // Напечатали строку ADOQuery1.Next; // Переход на следующюю запись запроса end; end; finally CloseFile(Prn); // Закрыли файл end; except on EInOutError do // Елси ошибка выдать сообщение о ней MessageDlg('Ошибка печати.', mtError, [mbOk], 0); end; end;
procedure
TForm1.Button3Click(Sender: TObject); var Prn: TextFile; i: word; s: string; begin case RadioGroup1.ItemIndex of 0: s:= 'BiletKup'; 1: s:= 'BiletPlach'; end; ADOQuery1.Close; // Закрыть запрос ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('Select * from poezd where '+s+' = bil ORDER BY №'); // Добавление новых значений в запрос ADOQuery1.Parameters.ParamByName('bil').
Value:= 'есть'; ADOQuery1.Open; // Открыть запрос AssignPrn(Prn); // Связали файловую переменную с принтером по умолча
нию try Rewrite(Prn); // Открыли файл на запись try if ADOQuery1.RecordCount>0 then // Проверка результата запроса begin ADOQuery1.First; // Переход на первую запись в запросе while not ADOQuery1.Eof do // Делать пока не будет конец запроса begin write(Prn, ADOQuery1WideStringField.Value +', '); // Напечатали строку ADOQuery1.Next; // Переход на следующюю запись запроса
end; end; finally CloseFile(Prn); // Закрыли файл end; except on EInOutError do // Елси ошибка выдать сообщение о ней MessageDlg('Ошибка печати.', mtError, [mbOk], 0); end; end;
procedure TForm1.Button4Click(Sender: TObject); begin ADOQuery1.Close; // Закрыть запрос ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('Select * from poezd ORDER BY otprav'); // Добавление новы
х значений в запрос ADOQuery1.Open; // Открыть запрос end;
Ответ отправил: Евгений/Genia007/, Практикант
Ответ отправлен: 25.10.2009, 18:16
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 255831
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 173588:
Уважаемые эксперты помогите в написание программы. Компоненты: TMainMenu1, TMemo1, TOpenDialog1, TStatusBar1. В TMemo1 загружается произвольная программа на языке Object Pascal. Нужно вывести в TStatusBar1 panel[0] каталог анализируемого файла.
Отвечает Selax, 4-й класс :
Здравствуйте, Спиридонов Данил Сергеевич. Вы это хотели? StatusBar1.panel[0].Text= ExtractFilePath(OpenDialog1.FileName);
Ответ отправил: Selax, 4-й класс
Ответ отправлен: 23.10.2009, 00:49
Оценка ответа: 5 Комментарий к оценке: Точно.
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 255738
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 173600:
Необходимо составить такую программу: В Richedit вводим последовательность символов (единицы и нули), нажимаем на кнопку и программа создает след. звуковой wave-файл: синусоидальные или прямоугольные колебания частотой 50 гц. и последовательностью амплитуд в зависимости от набора символов в Richedit. Поясню на примере. Например мы вводим в Richedit след. набор символов: 10011101 Нажимаем на кнопку и программа создает звуковой файл такой
амплитуды.
Отвечает Евгений/Genia007/, Практикант :
Здравствуйте, Phoenix707. Я предлагаю взять готовые два звука, которые удовлетворяют единичке и нулю (добавляем их в ресурсный файл), я думаю что постоянно синтезировать одни и те же звуки (ноль один) лишние накладные расходы процессорного времени, а так эти два звука уже будут находиться в оперативной памяти и браться от туда по мере надобности.
type TForm1 = class(TForm) RichEdit1: TRichEdit; Button1: TButton; Button2: TButton; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private
declarations } public { Public declarations } end;
var Form1: TForm1; stop:boolean;
implementation
{$R *.dfm} {$R MyWave.res}
procedure TForm1.Button2Click(Sender: TObject); var i, j: word; s:string; begin stop:= false; while not stop do begin For i:=0 to RichEdit1.Lines.Count - 1 do begin s:= RichEdit1.Lines.Strings[i]; for j := 0 to Length(s) - 1 do case s[j] of
'0': PlaySound('1_2',hInstance,SND_RESOURCE or snd_sync); {Здесь обрабатываем звук, можно добавить в ресурсный файл нужные фрагменты звука и т.п.} '1': PlaySound('2_2',hInstance,SND_RESOURCE or snd_sync); end; end; application.ProcessMessages; end;
end;
procedure TForm1.Button3Click(Sender: TObject); begin stop:= true; end;
end.
Дл
я создания ресурсного файла нужно сделать простой текстовый файл с содержимым: 'НАЗВАНИЕ ФАЙЛА' WAVE 'название файла'.wav, затем переименовать этот текстовый файл в MyWave.rc и при помощи внешнего компилятора (идёт в комплекте с delphi) создать файл MyWave.RES, для этого в командной строке переходим в директорию с нашими файлами wave и MyWave.rc, после чего вводим команду "brcc32.exe MyWave.rc" и всё, получаем файл MyWave.RES.
Прикрепленный файл:загрузить »
----- Помогли тебе, помоги и ты.
Ответ отправил: Евгений/Genia007/, Практикант
Ответ отправлен: 27.10.2009, 11:47
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 255907
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.