Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.12.2011, 22:16   #1
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
Вопрос Как установить длинну строки в Delphi?!

Какие ф-ции использовать можно, что бы установить новую длинну так, что бы она была равна длинне введенной пользователем строки?!
Пример десйтвия алгоритма:

1)s:array[1..n] of string;
2)Пользователь ввел: s[i]=qwerf;
3)Length(s)=s[i]-1;
<----Весы Там.
Npwas вне форума
Старый 13.12.2011, 22:38   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
1)s:array[1..n] of string;
2)Пользователь ввел: s[i]=qwerf;
3)Length(s)=s[i]-1;
Ты тут присваиваешь массиву длинну строки.
Тип string изначально имеет длинну в 255 символов, но Length возвращает длинну записаных символов. Если тебе нужна строка длинной, например, 15 символов, то нужно в сделать вот так:
Код:
type
  str=string[15];
  s=array of str;
Для потомков: если кто-то будет потом читать эту тему, игнорируйте сообщение, бред написал.
Все тривиальное просто

Последний раз редактировалось whatever; 13.12.2011 в 23:05.
whatever вне форума
Старый 13.12.2011, 22:41   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Тип string изначально имеет длинну в 255 символов
нет не имеет.
а так SetLength, только смысл пустой строки?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 13.12.2011, 22:46   #4
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Ага, походу засыпаю уже. Я в первом сообщении SetLength и прочитал :$
Все тривиальное просто
whatever вне форума
Старый 13.12.2011, 22:52   #5
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

А как именно в самом теле программы менять строку?! Мож привести пример как пишется функциия, а то в книге тольк и нашел, что "SetLength(var S: string; NewLength: Integer) — устанавливает для строки S новую длину NewLength". А как правильно записать чет не пойму, и можноли в теле самой проги?!
<----Весы Там.
Npwas вне форума
Старый 13.12.2011, 22:59   #6
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Код:
var
  s:string;
begin
  //бла бла бла
  SetLength(s,15); //устанавили длину строки в 15 символов
  //бла бла бла
end.
Все тривиальное просто
whatever вне форума
Старый 13.12.2011, 23:05   #7
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

А именно чтобы оно задоло строке длинну кол-ва букв в слове! Как?! Прост у меня там в проге видел наверн походу, что слова могут быть любой длинны и кол-во их ограничено только возможностями дельфи!!!
<----Весы Там.
Npwas вне форума
Старый 13.12.2011, 23:08   #8
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Я не совсем понмаю, зачем тебе это, но можно написать так:
Код:
SetLength(S,length(a[i]));
где S - строка, a[i] - одно из твоих слов
Все тривиальное просто
whatever вне форума
Старый 13.12.2011, 23:14   #9
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

Так то оно как-то все равно будет иметь излишние пробелы!!!
<----Весы Там.
Npwas вне форума
Старый 13.12.2011, 23:16   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Длинна строки автоматически устанавливается при присваивании стринговой переменной значения или ввода строки через Read.
Arigato вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как установить компоненты в Delphi 2010 Vol666 Компоненты Delphi 17 04.08.2011 19:55
как установить overbyte в delphi 7 Djeka(c) Общие вопросы Delphi 0 09.09.2010 03:17
Как установить компонент на Delphi 2007 Kostia Компоненты Delphi 7 06.04.2010 16:11
Как установить компонент в Delphi 2007? juan666777 Общие вопросы Delphi 2 08.06.2009 22:10
Как увеличить длинну выпадающего списка: ДАННЫЕ-ПРОВЕРКА-СПИСОК kay Microsoft Office Excel 3 10.02.2009 12:59