С Новым годом! Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/41: Рейтинг темы: голосов - 41, средняя оценка - 4.51
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176

Format - универсальная функция преобразования

09.03.2013, 14:08. Показов 8097. Ответов 8

Студворк — интернет-сервис помощи студентам
имеем книгу по Free Pascal, в которой описывется функция Format, указанная в названии темы. в книге фигурирует такое понятие как форматный указатель. вообще, в описании Lazarus, сказано что указатель-это переменная. но в примере работы функции такого не упоминается. вот и хотелось бы знать, может ли переменная типа стринг браться в качестве форматного указателя и в качестве списка значений, ну или просто список в качестве списка значений (так вернее вроде)? просто великие деятели информатики никак не хотят классифицировать термины, из-за чего возникает множество вопросов, после прочтения их книг: больше чем до прочтения, что вобщем сомневаюсь, что процесс генерации знаний, при чтении, идёт в прямом направлении . а читать надо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2013, 14:08
Ответы с готовыми решениями:

Универсальная функция
1.Определим функцию K(n), которая определяет количество цифр в заданном натуральном числе n. 2. Вычисление квадрата целого числа m,...

Универсальная функция
Здравствуйте! Прошу помощи. Можно сделать какую-нибудь универсальную функцию, которой можно было бы передавать массив заголовков столбцов и...

Универсальная функция
Напишите пожалуйста прогу.Написать универсальную функцию для вычислениия заданных выражений.В main() обеспечить вызов этой функции и...

8
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33369 / 21495 / 8234
Регистрация: 22.10.2011
Сообщений: 36,892
Записей в блоге: 12
09.03.2013, 15:57
Кроме книг, написанных сомнительными авторами, существуют еще и онлайн-источники информации. Например, такие: Format function (или вот такие), где на конкретном примере показывается, что первый параметр может быть переменной типа string.

P.S. Переводы - бич программирования. Англоязычная литература содержит более четкие определения, в русско- (и вообще любой другой) язычной начинается "кто как понимает тот или иной термин - так его и переводит", откуда вытекает полный бардак.
1
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
09.03.2013, 16:06  [ТС]
редактировали одновременно.
компиляция вот этого
Pascal
1
stroka:=Format(stroka,[stroka]);
ошибок не выдала. stroka-строковая переменная
не выдало ошибок и это
Pascal
1
stroka:=Format(stroka,[strList]);
где strList список строк

Добавлено через 8 минут
Цитата Сообщение от UI Посмотреть сообщение
P.S. Переводы - бич программирования. Англоязычная литература содержит более четкие определения, в русско- (и вообще любой другой) язычной начинается "кто как понимает тот или иной термин - так его и переводит", откуда вытекает полный бардак.
вот. а переводчик, стало быть, не вникает в переводы. и вообще мало кто, получается, из писателей книг вникает в механизм языка. чем больше читаю, тем больше понимаю, что в нашей стране информатика-это то, что не укладывается в рамки единого механизма информации, то бишь свалка, и всё больше начинаю с почтением относится к кибернетике-там такого нет, независимо перевод это или нет. механизм рассматривается впервую очередь, а потом уже могут литься потоки слов. а в информатике наоборот, из потока слов пытаются вылепить механизм, да ещё с такими пробелами в переводах. спасибо, что прояснили откуда у явления растут ноги.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33369 / 21495 / 8234
Регистрация: 22.10.2011
Сообщений: 36,892
Записей в блоге: 12
09.03.2013, 16:17
Цитата Сообщение от Hretgir Посмотреть сообщение
компиляция вот этого <...> ошибок не выдала
И не должна была выдать. Если stroka - переменная или константа типа String - то первый параметр подходит под сигнатуру функции. А вторым параметром вообще может быть передан Array of Const, то есть, в принципе - любая переменная (или константа)

Причем, если внутри переменной Stroka нет спецификатора %s, то проблемы будут, но уже в рантайме. А со второй конструкцией (которая со списком строк strList) вообще непонятно, что ты хочешь сделать. Как преобразовать список строк в строку? Какой спецификатор задается? Можно только попытаться представить этот самый strList в виде указателя, используя %p, больше ничего подходящего для обработки TStringList-ов в функции Format нет.
0
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
09.03.2013, 17:38  [ТС]
ну я думал список строк может передаться как список строковых переменных, например списком аргументов может являться список строковых переменных [s,t,f,g]. а я собственно не вижу особой разницы между списком строковых переменных и списком строк, в качестве аргументов. а что тут не понятного, что я хочу сделать... получать разные аргументы из файлов, как и форматные указатели, иметь возможность производить и с теми и с теми операции. по сути функция формат, если всё что мне нужно работает, поистине универсальна, то есть она уже по сути является интепретатором, ну а я просто решаю свои задачи. то-есть функция, в обрабатываемые данные позволяет вложить значительную часть логики обработки. вот. потом покажу приложение, это всё тот же костыль я ваяю. а вот. я этой функцией заменю то, чего мне не хватило в работе с записями, что я вопросы задавал.

Добавлено через 5 минут
я этой функцией заменю то, чего мне не хватило в работе с записями, что я вопросы задавал. то есть, это практически эквивалентно, что я в ходе работы приложения описываю и изменяю поля записи, провожу нужные изменения над формой записи, но только оперировать уже буду не с записями, а данными для функции Format. записи мне не подошли вобщем для реализации, удобная вещь, но малоэффективная.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33369 / 21495 / 8234
Регистрация: 22.10.2011
Сообщений: 36,892
Записей в блоге: 12
09.03.2013, 17:49
Цитата Сообщение от Hretgir Посмотреть сообщение
а я собственно не вижу особой разницы между списком строковых переменных и списком строк
То, что ты не видишь разницы - не значит, что ее нет. Вот когда ты напишешь свой компилятор, тогда будешь делать то, что заблагорассудится. А если используешь FPC - то и играй по его правилам. Вот это:
Цитата Сообщение от Hretgir Посмотреть сообщение
[s,t,f,g]
- не список строк, а массив констант, через который передаются строки. Синтаксис никто не отменял. Если что-то передается в квадратных скобках - это "что-то" - или множество, или массив, но никак не список.

strList же - указатель на экземпляр класса типа TStringList, который реализует некий функционал, позволяющий использовать его как список строк. Теперь тоже не видишь разницы?

Добавлено через 1 минуту
Цитата Сообщение от Hretgir Посмотреть сообщение
записи мне не подошли вобщем для реализации, удобная вещь, но малоэффективная.
"Когда всё, что у тебя есть - это молоток, то всё вокруг кажется гвоздями", правда? Если ты чем-то не умеешь пользоваться - это не значит, что оно малоэффективно. Это значит лишь то, что ты не умеешь им пользоваться.
0
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
09.03.2013, 18:10  [ТС]
то есть смотрите в чём фишка, вводим в аргументы функции числа от 0 до 9, вот, а логику вычислений, сложение, вычитание, можно описать в строковой переменной форматного указателя. понимаете? то есть, по сути, это интерпретатор, только я естественно числа считать не буду, у меня другие задачи, но это так, образно.

Добавлено через 2 минуты
Цитата Сообщение от UI Посмотреть сообщение
"Когда всё, что у тебя есть - это молоток, то всё вокруг кажется гвоздями", правда? Если ты чем-то не умеешь пользоваться - это не значит, что оно малоэффективно. Это значит лишь то, что ты не умеешь им пользоваться.
да не, работа с записями такой гибкости не даёт. я достаточно ознакомился с ней и пользоваться умею. мне нужен инструмент погибче. как раз гвозди от негвоздей я отличать научился.
не список строк, а массив констант
а вот это не будет разве работать
Pascal
1
2
3
4
5
6
7
8
9
10
11
program format1;
uses SysUtils;
var
  i:integer=123;
  f:single=pi;
  ch:char='A';
  s:string='Hello, world!';
begin
  writeln(Format('i=%5d f=%8.2f ch=%s s=%s',[i,f,ch,s]));
  readln;
end.
Добавлено через 10 минут
седьмая строка, придаёт значение строковой переменной, а потом мы её наблюдаем в строке девятой. но данный пример программы не отображает вобщем ничего, а вот то что читается далее из книги и таблиц, действительно универсально

Добавлено через 6 минут
точнее описывать логику там не получится, там получится только описание того, что должно получиться. но имея некоторый набор процедур работы с строковыми переменными, я вполне могу, очень кратко и сжато выполнять любые вычисления. вобщем кажется я всё равно не ясно объясняю . ну вот так, получил в процессе операций строку -форматный указатель, выполнил функцию формат над аргументами-получил интерпретацию записи строки форматного указателя, относительно аргумента. вроде всё понятно...
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33369 / 21495 / 8234
Регистрация: 22.10.2011
Сообщений: 36,892
Записей в блоге: 12
09.03.2013, 21:09
Цитата Сообщение от Hretgir Посмотреть сообщение
то есть, по сути, это интерпретатор
То есть, по сути, ты заново изобретаешь PascalScript?

P.S. Дальнейшие твои рассуждения о каких-то отвлеченных материях я оставляю без ответа. Мне не интересно обсуждать "что-о там, о чем я знаю, но другим не скажу, или не могу объяснить, или еще как-то, но точной постановки задача не имеет, только абстрактное бла-бла-бла, но потом это будет круто и перевернет мир!". Не перевернет. Если б ты знал, сколько подобных заявлений, о том, что какая-то придумка перевернет мир, я уже слышал... Пока ничего не изменилось. Ровным счетом ничего. Никто ничего не перевернул, тем более в одиночку.

От темы отписываюсь, ибо разговор ни о чем... А тебе - совет. Занимайся более практическими задачами, а не отвлеченной чепухой. И, насчет записей: а ты вообще что-то о вариантных записях слышал, чтобы утверждать:
Цитата Сообщение от Hretgir Посмотреть сообщение
работа с записями такой гибкости не даёт. я достаточно ознакомился с ней и пользоваться умею
? Или только узнал, что о ключевых словах record/end, и тут же почувствовал, что о записях знаешь всё?
0
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
09.03.2013, 23:26  [ТС]
да я ничего не изобретаю. мне нужно работать с данными. вот и всё. я хочу делать это эффективно. ну да, выдает ошибку, согласен. раз в книге написано столько, я прочитал, и что мне мешает считать что я знаю о записях достаточно. и с чего вы взяли , что я что-то там бла-бла-бла изобретаю. мне нужно чтобы юзер программы мог активно работать с данными. отписались, да ради бога, я не впервый раз прибегаю к ответам на другим форумах. а то что я что-то изобретаю-вам мог кто-то сказать, но не я. в порграммировании изобретать нечего-это не кибернетика. я не знаю какими изобретениями информатика может блистать, в отличии от кибернетики, никакими, а до кибернетики мне ещё топать и топать, годы. кто вам сказал что я изобретаю в информатике-можете ему "пожать руку".

Добавлено через 6 минут
завтра попробую массив переменных в аргументах, все таки строковые переменные в качестве аргументов применяются. просто прийдётся ещё кода писать часть. лучше сделать большой код, чем плодить вокруг себя слухи, что я якобы что-то изобретаю в информатике, попробую без консультаций по таким вопросам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.03.2013, 23:26
Помогаю со студенческими работами здесь

Универсальная функция вывода
Господа, пытаюсь сделать функцию, которая напечатает массив, и будет универсальна для всех типов и одной структуры. Вот пока все мои...

Универсальная функция Ajax
Хочу сделать универсальную функцию Ajax, но не получаеться получить ответ сразу, функция выполняется, а потом приходит ответ... Как...

Универсальная функция запросов в базу
Здравствуйте. Есть несколько мест в коде где идет 6-8 запросов в базу, запросы различные (select,insert,update,вызов процедур) запихать...

Универсальная функция вставки данных в БД
Добрый вечер! В базе данных находится множество таблиц с различной структурой (уникальный идентефикатор id имеется у всех таблиц)....

Универсальная функция для списка и матрицы
Здравствуйте! Встретилась мне такая задача: нужно написать функцию, которой, как аргумент, передается список или матрица, и которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru