| Структура программирования, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
Какой версией Delphi вы пользуетесь, Просто интересно знать... Округление чисел, Как округ число в большую сторону Как какой-либо переменной передать, все свойства какого-нибудь компонента? Можно ли открючить рамку у TRadioGroup? 3D-объекты События при изменении изображения на экр Как программно закрыть окно чужой программы?, Зная его заголовок. MessageDlg Научить приложение в Делфи говорить Монитор!!!, подскажите недотёпе Как передвигать программно курсор в TEdit-e Помогите Как обработать минимизацию формы?, Как обработать минимизацию формы? Компонент в RichEdit, Компонент в RichEdit мешает Полигон для формы, Создание, редактирование полигонов Аналоги процедур Задачка по программированию есть. Как попасть в ProgramFiles, Как попасть в ProgramFiles Виртуальные диски, и работа с ними Запуск программы с ограниченными правами, Win2003Server Ent + MSSQL и сетевой диск Файловый менеджер, Помогите может кто уже писал Как прекрепить файл к The Bat!, Не подскажите? длинная строка DELPHI 2005, Delphi 9 Telnet, про телнет Компоненты для плоского меню как присоединить поток к чужой проге? TeeChart 7.0 Pro, Качайте Как передать управление другой процедуре? Работа с типами данных, Single и array [0..3] of byte Компоненты для создания меню в стиле XP, Не знаете - есть ли они в природе? Как Вы относитесь к курящим девушкам? Как запаролить открытие формы в Delphi? Система ленейных уравнений, Метод Гаусса Данные по порту... Нужен ZIP компонент, позволяющий сжатие данных по блокам блокировка текстового файла, блокировка текстового файла DelphiX для Delphi 6 Компонент "богатый текст", написать его... Как записать динамический массив в бинарный файл. Как вставить файл WAVES.S3M в форму DBGrid, Проблема с настройками свойств Как запустить "'desk.cpl" расширение .cpl, расширение .cpl Создание события, Новое событие Задача на деревья, Может кто знает как решить это? Синтаксический и лексический анализаторы, Каков алгоритм их работы OLE и TWebBrowser, OLE и TWebBrowser ВЫзов Фукнкции, помогите высзвать функцию Как запустить файл из system32 расширения .msc Как отключить кнопку развернуть как в программе узнать запущена другая программа? Рисунок с рабочго стола по LAN, Рисунок с рабочго стола вот блин а Дельфи - это СЛОЖНАЯ ВЕЩЬ, и никто не предуредил Вложенные циклы, Кол-во вложенных циклов Строки, общая подстрока Как пройти из точки A(x1;y1) в точку B(x2;y2)..., ...по прямой линии Помогите найти ошибку в модуле компонента, для компиляции Image через Timer Написание Service Как копировать одну ячейку StringGrid'a? Системное время frames, or..? список MsSql серверов Скины для формы Ошибка в наследнике TStringGrid, Ошибка в наследнике TStringGrid Динамическое создание обьектов, как динамически создать обьект??? Динамическое создание форм Помогите пожалуйчта решить сложную задачку, из префиксной формы в постфиксную Работа с файлом, как проч. ф. по 20 симв. в строках screensaver Как к приложению прикрепить иконку? |
Платные хостинги Раскрутка сайта Книги по программированию длинная строка
- Столкнулся с такой траблойнадо вывести тучу текста в консолиТ.е. есть текст из пары десятков строк, его надо вывести, текст хранится в самой программе.Код writeln('...');writeln('...');writeln('...');writeln('...');writeln('...');highlightSyntax('delphilYjNlM','delphi');как-то неудобно тучу раз писать writelnможно еще такКод writeln( '...' + + '...' + + '...' + + '...' + + '...' );highlightSyntax('delphiZmZWU2','delphi');Это уже проще, но должен же быть способ проще или я ошибаюсь? - Засунуть всю строку в ресурс - Это ты называешь более простым способом? - write('...') и цикл... - при чем тут цикл - Да, если строка действительно большая, то получение её из ресурса будет всего несколько строк кода. - А строка статическая или динамическая? Если статическая, то проще всего делать так, как предлагает Vit. - если надо вывести ВЕСЬ текст, то не легче ли засунуть его в то же Мемо, а потом вывести с помощью writeln его на консоль?! Если надо вывести построчно, то это сделать можно в циклеfor i:=1 to Memo1.Lines.Count dowriteln(Memo1.Lines[i]); - Кокой еще мемо в консольной программе???С точки зрения минимализации размера программы, оптимальный вариант с кучей writeln.С точки зрения минимализации кода, проще засунуть в ресурс.Можно создать TStringList, а потом его циклом вывести.Можно укоротить имя WriteLn до W, чтобы меньше писать.Но IMHO, все равно только 2 варианта: писать текст в программе (разными способами), либо в текстовый файл/ресурс. Ибо процесс слишком элементарный, чтобы искать другие пути решения.Я бы так и оставил WriteLn'ы. - а какой толк TStringList юзать в данном случае, все равно туда по стокам запихнуть сначала надо. - Как делает "программист":пишет прогу которая будет писать программу, которая из заданного файла читает набор строк и сама пишет часть программы типаwriteln({1 строка});writeln({2 строка});...writeln({n строка});Мы с пацаними в нашей лаборатории вечно чудим. Нам дадут какое-то задание - ну там пару месяцев назад расставить права на 20 компах. Вообщем где-то пол-дня полного методичного гемороя(одинаковая работа) и все бы было готово. Но нет мы писал день прогу, которая это делает сама, а потом день отлаживали. Итог, через два дня прога все сделала сама. "Экономия времени налицо, зато конечно много нового узнали".excuse me за Это сообщение отредактировал magician - 15.12.2004, 21:00 - мне не надо из файла читать, у меня прога состоит из одного экзешника а не тучи файлов - Ммм.... если я правильно понял надо в длинющую строку вставить "энтеры". Сам не пробовал, но вот такая идея: либо вставлять скажем через каждые 20-ть символов символ йентер insert-ом либо командой copy копировать по 20-ть символов в промежуточную строку и ее выводить.тогда можно и репит приделать. 2Crazz: что значит "при чем тут цикл"? - Свмый короткий вариант:Код var r: char=#13#10;begin WriteLn('Первая строка'+r+ 'Вторая строка'+r+ 'Третья строка'+r+ ... 'n-цатая стока'+r+ 'И хватит...');end.highlightSyntax('delphiZThhMT','delphi');Текст короче все равно не сделать. - Ну да только я понял так, что нет первой и второй строки - есть одна здоровая и ее надо порезать. т.е.что-то вроде тогоVar C,i,j,z,L:integer; r,S:string;begin r:=#13+#10; z:=5; S:=edit1.text; //отсюда строку берем L:=length(S); c:=trunc(l/(z+1)); for i:=1 to c do Insert(r,S,i*z+i-1); ShowMessage(S); //сюда запихиваемend;Это пример дельфовый но сам механизм работает.Или так если copy больше нравитсяVar z:integer; r,S:string;begin Memo1.Clear; //очищает вывод S:=edit1.text; //отсюда берем z:=5; Repeat if length(S)>z then begin R:=copy(S,1,z); S:=copy(S,z+1,length(S)-z); end else begin R:=copy(S,1,length(S)+1); S:=''; end; Memo1.Lines.Add®; //сюда суем. Until S='';end; |