Author Topic: разница в выполнении команд TFREAD и STRREADLN  (Read 2638 times)

0 Members and 1 Guest are viewing this topic.

ksa-nsk

  • Освоившийся
  • **
  • Posts: 55
    • View Profile
надо прочитать строку из текстового файла, в котором пусть первая строка = 000000037
функция
TFREAD("__spisok.txt", $nom_str)
вернет 37
а
STRREADLN("__spisok.txt", $nom_str)
вернет 000000037

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: разница в выполнении команд TFREAD и STRREADLN
« Reply #1 on: November 11, 2014, 02:04:32 PM »
STRREADLN более старая команда, тогда текстовые переменные были отдельно, обозначались %.
TFREAD появилась одновременно с переходом на динамическое определение типа. Она и пытается понять что считали строковую переменную или число. Т.к. видит одни цифры (и разделитель .) назначает её числом.
Да... А незначащие нули в начале числа сами пропадают.
Есть ещё во многих местах косяки с автоматическим определением типа переменной. Будем ждать исправления.


ksa-nsk

  • Освоившийся
  • **
  • Posts: 55
    • View Profile
Re: разница в выполнении команд TFREAD и STRREADLN
« Reply #2 on: November 11, 2014, 06:27:58 PM »
прошу сообщить руководству...
хотя лучше было бы, чтобы была и такая и такая, только в хэлповнике пояснение добавить и всё, а то ждёшь один результат, вылет и сиди голову ломай, где затык)
« Last Edit: November 11, 2014, 06:29:54 PM by ksa-nsk »