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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2013, 13:07   #1
МирзоАкмал
Пользователь
 
Регистрация: 08.05.2013
Сообщений: 15
По умолчанию edit.text

доброго всем дня,
подскажите пожалуйста как заменить пустые места строки на пробелы или на ноль
н-р: имеется ed1.text, длина = 5, вводимые данные состоят из трёх букв, цифр, остальные пустые места должны меняться либо пробелами либо нулями
МирзоАкмал вне форума Ответить с цитированием
Старый 09.05.2013, 15:55   #2
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

отвечу на вопрос "как заменить?":
StringReplace('старая строка','пустое место','чем заменить',[rfReplaceAll])
(только в функцию надо передавать переменную, а не Edit.Text, т.е. S:=Edit.Text)

а на вопрос "что такое пустое место?" ответьте сами =)
xrob вне форума Ответить с цитированием
Старый 09.05.2013, 18:24   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
только в функцию надо передавать переменную, а не Edit.Text, т.е. S:=Edit.Text
С чего бы это? Кто запретил передать Edit.Text?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.05.2013, 18:40   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Кто запретил передать Edit.Text?
кто кто, понятно кто, герой Delphi.
eval вне форума Ответить с цитированием
Старый 10.05.2013, 01:33   #5
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

как понять пустое место? если вы сами ничего не введете, то пустое место и будет, а если вы про пробелы(в качестве пустых мест), то зачем их заменять на пробелы? если на нули, то пожалуйста, вот код (киньте на форму tedit, tbutton)

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.MaxLength:=5;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  k:ShortInt;
  s:string;
begin
 s:=edit1.Text;
for k:=1 to Length(s) do
 if s[k]=' ' then s[k]:='0';
  k:=Edit1.MaxLength-length(s);
  while k<>0 do
  begin
  s:=s+'0';
  Dec(k);
  end;
  Edit1.Text:=s;
end;

end.
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 10.05.2013, 07:28   #6
МирзоАкмал
Пользователь
 
Регистрация: 08.05.2013
Сообщений: 15
По умолчанию

Спасибо! работает Но есть еще одна проблемка. Так как на форме имеется много edit-ов, возможно ли использовать этот код как функцию чтобы для каждого edit-а не пришлось набирать

Цитата:
Сообщение от xrob Посмотреть сообщение
отвечу на вопрос "как заменить?":
StringReplace('старая строка','пустое место','чем заменить',[rfReplaceAll])
(только в функцию надо передавать переменную, а не Edit.Text, т.е. S:=Edit.Text)

а на вопрос "что такое пустое место?" ответьте сами =)
Хороший пример, спасибо!, но оказывается именно ''-пустое место оно не заменяет, а вот пробелы и другие символы заменяет.

Последний раз редактировалось Stilet; 10.05.2013 в 09:50.
МирзоАкмал вне форума Ответить с цитированием
Старый 10.05.2013, 08:53   #7
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

МирзоАкмал, пустое место - это отсутствие символов, конечно если нечего нет то нечего и не замениться!
kta87 вне форума Ответить с цитированием
Старый 10.05.2013, 09:20   #8
МирзоАкмал
Пользователь
 
Регистрация: 08.05.2013
Сообщений: 15
По умолчанию

Цитата:
Сообщение от kta87 Посмотреть сообщение
МирзоАкмал, пустое место - это отсутствие символов, конечно если нечего нет то нечего и не замениться!
Да, я с Вами согласен, но задача состоит в том что нужно записать данные из полей в текстовый файл, например поле имеет длину 60 а текст в нем состоит из 45 символов, а когда записываем в файл нужно чтоб все 60 символов отражались (из них 15 пробелов или нулей).
МирзоАкмал вне форума Ответить с цитированием
Старый 10.05.2013, 09:23   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
s:=Edit.Text+StringOfChar('0',60-Length(Edit.Text));
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.05.2013, 09:33   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
нужно записать данные из полей в текстовый файл
Юзайте Format функцию, она забъет куда нало и что надо.
eval вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
edit text Nokia3310 Общие вопросы Delphi 9 05.02.2013 09:32
image по названию в edit.text Jleksern Общие вопросы Delphi 12 14.08.2012 06:14
Поиско в edit.text celovec Общие вопросы Delphi 8 14.10.2011 11:14
Edit.Text Cassius Общие вопросы Delphi 9 24.03.2011 21:58
Воплотить идею: for i:=0 to 100 Edit[i].text:=random(100) tigr1991 Общие вопросы Delphi 6 29.09.2010 18:53