(no subject)
Aug. 13th, 2019 07:07 amLazarus опять смог удивить, и снова в эдите. На этот раз он забыл, какой тип у text (спойлер - string). Итак, вопрос: как удалить последний символ из text. Казалось бы, строка она и есть строка, бери да удаляй. Это есть в любом учебнике, это есть в справке, кучи форумов по делфи и лазарусу завалены вопросами как работать со строками, и всюду на это дают один и тот же ответ. И у всех он работает, кроме меня, потому что, цитирую, cant take the address of constant expression.
Каким образом работает у них, если это констант экспрешн, я не знаю, но у меня нет. Если присвоить значение другой строковой переменной, то все получается, следовательно, дело и правда в том, что text какая-то очень особенная переменная. Причем периодически, тут особенная, а тут нет.
Ранее он потребовал положить в папку с проектом файл с модулем, а через два дня выдал предупреждение о дублированном файле: чего мол у вас модуль лежит и в папке, и в самой программе? А и правда, чего это я. Но там ладно, там я его обновляла и забыла перезагрузить компьютер - для некоторых программ это важно. И вот он вроде как сам ошибку нашел и сам ее исправил. Но как нормально работать с edit.text при этом забыл. А может и не знал даже, и всё совсем не так, как видится мне. Удивительная тайная жизнь лазаруса.
Я теперь думаю, ведь проверки делала напрямую в эдитах, они не повалятся ли все разом? Или это только работы с целой строкой касается, а посимвольно ее брать можно? Возможно, когда посимвольно, ее типа программно выводит во временную переменную, а потом возвращает - ну вот вроде как я в итоге вывела туда всю строку, чтобы нормально с ней поработать? Что характерно, про это на форумах и учебниках ни полслова нет. А и верно, зачем, ведь объектно-ориентированность для того и нужна, чтобы не забивать себе голову мелочами. А вот если бы был такой язык, чтобы там контролировался каждый шаг, и каждый символ имел бы только одно-единственное значение, однозначное нажатой клавише, и чтобы никакие кодировки вообще не появлялись, пока их не позовут, вот такой язык наверное было бы выучить совсем просто. Но таких наверное даже и нет.
Каким образом работает у них, если это констант экспрешн, я не знаю, но у меня нет. Если присвоить значение другой строковой переменной, то все получается, следовательно, дело и правда в том, что text какая-то очень особенная переменная. Причем периодически, тут особенная, а тут нет.
Ранее он потребовал положить в папку с проектом файл с модулем, а через два дня выдал предупреждение о дублированном файле: чего мол у вас модуль лежит и в папке, и в самой программе? А и правда, чего это я. Но там ладно, там я его обновляла и забыла перезагрузить компьютер - для некоторых программ это важно. И вот он вроде как сам ошибку нашел и сам ее исправил. Но как нормально работать с edit.text при этом забыл. А может и не знал даже, и всё совсем не так, как видится мне. Удивительная тайная жизнь лазаруса.
Я теперь думаю, ведь проверки делала напрямую в эдитах, они не повалятся ли все разом? Или это только работы с целой строкой касается, а посимвольно ее брать можно? Возможно, когда посимвольно, ее типа программно выводит во временную переменную, а потом возвращает - ну вот вроде как я в итоге вывела туда всю строку, чтобы нормально с ней поработать? Что характерно, про это на форумах и учебниках ни полслова нет. А и верно, зачем, ведь объектно-ориентированность для того и нужна, чтобы не забивать себе голову мелочами. А вот если бы был такой язык, чтобы там контролировался каждый шаг, и каждый символ имел бы только одно-единственное значение, однозначное нажатой клавише, и чтобы никакие кодировки вообще не появлялись, пока их не позовут, вот такой язык наверное было бы выучить совсем просто. Но таких наверное даже и нет.