Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Вниз

Функции Delphi.   Найти похожие ветки 

 
Shopot ©   (2006-11-04 09:07) [0]

Здравсвуйте!!! Есть ли в Delphi такие функции работы со строками как в
C++ - sscanf, sprintf?


 
Virgo_Style ©   (2006-11-04 11:35) [1]

Таких - нету.


 
DrPass ©   (2006-11-04 11:35) [2]

sprintf - это Format. Аналога sscanf нет, но мне еще не встречалось случая, когда ее нельзя было бы заменить read/readln


 
Kolan ©   (2006-11-04 11:37) [3]

> [2] DrPass ©   (04.11.06 11:35)
> sprintf - это Format. Аналога sscanf нет, но мне еще не
> встречалось случая, когда ее нельзя было бы заменить read/readln

Незнаю что есть sprintf, но printf возврашает кол-во выведенных символов, а ReadLn нет.. AFAIR


 
Anatoly Podgoretsky ©   (2006-11-04 11:42) [4]


> Kolan ©   (04.11.06 11:37) [3]


Видимо ты не умеешь работать со строками


 
Kolan ©   (2006-11-04 11:46) [5]

> Видимо ты не умеешь работать со строками

А тут причем?
procedure Readln(...
процедура это.
А printf - функция и возвращает int


 
Percent   (2006-11-04 11:49) [6]

Kolan ©

но printf возврашает кол-во выведенных символов, а ReadLn нет

procedure Readln(...
процедура это.
А printf - функция и возвращает int


О-о-о... как все запущено...
Вопрос на засыпку: что делает readln, а что делает printf?


 
Anatoly Podgoretsky ©   (2006-11-04 11:50) [7]

А тебе зачем?
В СИ нет процедур, там только функции, но все равно тебе зачем это, может алгоритм переписать, ну не нравится это, так используй формат, из него узнаешь до передачи, сколько там символов. Хотя ума не приложу куда это использовать, случайно не попугаев собираешься мерить.
А что в СИ все функции возрващают количество символов, если не все то твои претензии не обоснованы.
Кстати ты можешь переписать Write/WriteLN что бы такая информация была доступна.


 
Anatoly Podgoretsky ©   (2006-11-04 11:51) [8]


> Вопрос на засыпку: что делает readln, а что делает printf?

Да ладно, парень глупость сморозил


 
Kolan ©   (2006-11-04 11:59) [9]

> Вопрос на засыпку: что делает readln, а что делает printf?

А, ну да :) Перепутал.. про WriteLn говорил...правда тогда к [2] претензии необоснванные :)


 
TUser ©   (2006-11-04 12:01) [10]

Format
FormatStr

TRegEXpr


 
Shopot ©   (2006-11-04 12:24) [11]


> Anatoly Podgoretsky ©   (04.11.06 11:42) [4]


> Видимо ты не умеешь работать со строками


Какие умные бывают на свете. Все привыкли делать своими ручками.

Есть старое программное обеспечение под ДОС. Написанно на С. Так там инфа сохраняется в файлы корявого формата. Типа первая строка это
название 12 символов, имя оператора 10 символов, дата 10 символов.
Вторая строка курс валют, используемая по умолчанию валюта...
3 - я строка...
4 - я строка данные - 10 колонок где 1 - я и 10 - я колонка 8 символов, остальные по 9 символов.

Когда считываешь Readln"ом потом преобразуешь - неудобно.
Зачем изобретать велик. Ведь в C++ он есть.


 
DrPass ©   (2006-11-04 12:28) [12]


> Когда считываешь Readln"ом потом преобразуешь - неудобно.
>
> Зачем изобретать велик. Ведь в C++ он есть.

Все равно непонятно. А что тебе мешает считать readln"ом без всяких преобразований? Ты ж пойми - он не только строки умеет считывать, а все подряд и в любом сочетании. Точно так же, как и scanf
А кроме того, если длина полей в файле известна, там вообще можно было бы обойтись без readln. А сделать соответствующую структуру, открыть файл как нетипизированный и в один прием залить из файла данные


 
Percent   (2006-11-04 12:58) [13]

Shopot ©

А что, BlockRead() уже отменили?


 
Anatoly Podgoretsky ©   (2006-11-04 18:13) [14]


> Какие умные бывают на свете. Все привыкли делать своими
> ручками.

Тебе привели TRegEXpr, тебе привели другие функции, а ты все неймешь, никак понять, что ты пока еще не умеешь программировать.
Твоя задачка для начальных курсов непрограммирующих пользователей


 
palva ©   (2006-11-04 20:22) [15]

Если по сабжу, то есть функция wvsprintf
{$APPTYPE CONSOLE}
uses Windows;
var
 s: String;
 buf: array [0..99] of Char;
 p: array[0..2] of Integer;
begin
 p[0] := 355;
 p[1] := Ord("Q");
 p[2] := $fed;
 wvsprintf(@buf[0], "%05d %c %04X", @p);
 SetLength(s, lstrlen(buf));
 lstrcpy(PChar(s), buf);
 WriteLn(s); // 00355 Q 0FED
end.




Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.043 c
2-1161872664
Ezorcist
2006-10-26 18:24
2006.11.19
Кнопка формы на панели задач


2-1162488318
funky
2006-11-02 20:25
2006.11.19
Сколько макс. файлов можно загрузить в OpenDialog?


2-1162297425
koha
2006-10-31 15:23
2006.11.19
как ListBox сохранить в файл...


15-1162381911
StriderMan
2006-11-01 14:51
2006.11.19
Что мешает программистам работать дома?


15-1162193228
Иксик
2006-10-30 10:27
2006.11.19
Рутинг в Windows XP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский