HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 30.03.2010, 23:13
M_script_
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме:
1819761

Репутация: 180
Отправить сообщение для M_script_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от fenixelite  
M_script_, просили в дельфи как бы...... ))
Не совсем - "желательно в дельфи"
 
Ответить с цитированием

  #12  
Старый 30.03.2010, 23:16
fenixelite
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
Провел на форуме:
870084

Репутация: 79
Отправить сообщение для fenixelite с помощью ICQ
По умолчанию

Вот рабочий код :
Код:
 
s:=edt1.Text;
 Insert('_',s,StrToInt(edt2.Text));
 edt1.Text:=s;
Вкратце :
процедура Insert
1 параметр это то что вставляем.
2 - куда
3 - номер символа
 
Ответить с цитированием

  #13  
Старый 30.03.2010, 23:32
Ss[x]dD
Познающий
Регистрация: 07.06.2009
Сообщений: 30
Провел на форуме:
205687

Репутация: 0
По умолчанию

Вот код для Delphi
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
t, s, m: String;
begin
t:=Edit1.Text;
s:=Edit2.Text;
m:=Edit3.Text;
Insert(s,t,StrToInt(m));
Edit4.Text:=t;
end;
end.
где:
t-текст
s-символ
m-в каком месте

Последний раз редактировалось Ss[x]dD; 30.03.2010 в 23:36..
 
Ответить с цитированием

  #14  
Старый 30.03.2010, 23:40
Ss[x]dD
Познающий
Регистрация: 07.06.2009
Сообщений: 30
Провел на форуме:
205687

Репутация: 0
По умолчанию

Теперь вопрос №2:
выше представлен код, в котором только 1 раз можно вставить символ в нужное место, а если предположим, что на месте 4, 6, 7 символа исходного текста вставить допустим тот же "_" символ
 
Ответить с цитированием

  #15  
Старый 31.03.2010, 00:55
edge911
Участник форума
Регистрация: 21.02.2009
Сообщений: 228
Провел на форуме:
2175726

Репутация: 368
По умолчанию

тебе вроде написали функцию та O_o
Insert('_',string,4);
Insert('_',string,6);
Insert('_',string,7);
---------
или тебе заменить нужно?
string[4]:='_';
string[6]:='_';
string[7]:='_';

Последний раз редактировалось edge911; 31.03.2010 в 00:59..
 
Ответить с цитированием

  #16  
Старый 31.03.2010, 01:19
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

Репутация: 52
По умолчанию

в Edit2 вводить цифры через запятую.
PHP код:
var
  
j,i:integer;
  
m,s:string;
  
Paste:array[1..255of integer;
begin
s
:=Edit1.Text; { запоминаем текст}
m:=Edit2.text; {запоминает цифры}
m:=m+','; { добавляем для парсинга}
for 
i:=1 to 255 do 
begin
  Paste
[i]:=-1
{
заполняем массив -1}
  if 
length(m)>0 then 
если длина строки с цифрами 0}
  
begin
    Paste
[i]:=strtoint(copy(m,1,pos(',',m)-1)); 
сохраняем значение}
    
delete(m,1,pos(',',m));
{
удаляемчто сохранили }
  
end;
end;
j:=0// Счетчик, который фиксирует баг с заменой
for i:=1 to 255 do
begin
  
if Paste[i]=-1 then break; 
{
если число в массиве -1 прекращаем цикл}
  
insert('_',S,Paste[i]+j);
{
вставляем текст}
  
inc(j); 
{
увеличивываем позицию}
end;
Edit3.Text:=s;
{
выводим результат
Если с конца надо
замени:
Код:
  insert('_',S,Paste[i]+j);
на
Код:
 insert('_',S,length(s)-Paste[i]+j);

Последний раз редактировалось JnK; 31.03.2010 в 01:29.. Причина: Добавил комментарии, исправил недочет
 
Ответить с цитированием

  #17  
Старый 31.03.2010, 01:42
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

Репутация: 52
По умолчанию

Что бы не заморачиваться, вот без массива.
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  Delimiter=',';
  Replacement='_';
var
  I:integer;
  Num,Str:string;
begin
  Str:=edit1.text;
  Num:=edit2.text+Delimiter;
  I:=0; {новая позиция, с уже добавлеными символами}
  While length(Num)>0 do
  begin
    insert(Replacement,Str,strtoint(copy(Num,1,pos(Delimiter,Num)-1))+I);
    delete(Num,1,pos(Delimiter,Num));
    inc(I);
  end;
  edit1.Text:=Str;
end;

Последний раз редактировалось JnK; 31.03.2010 в 01:50..
 
Ответить с цитированием

  #18  
Старый 31.03.2010, 07:45
Ss[x]dD
Познающий
Регистрация: 07.06.2009
Сообщений: 30
Провел на форуме:
205687

Репутация: 0
По умолчанию

PHP код:
Спасибо всем за ответывыручили  :) 
  +++ 
нажал  ;) 

Последний раз редактировалось Ss[x]dD; 31.03.2010 в 07:48..
 
Ответить с цитированием

  #19  
Старый 04.04.2010, 18:39
Ss[x]dD
Познающий
Регистрация: 07.06.2009
Сообщений: 30
Провел на форуме:
205687

Репутация: 0
По умолчанию

Ребята, вот еще вопросик, как сделать чтобы не в начале перемещалось, а в конце?
 
Ответить с цитированием

  #20  
Старый 04.04.2010, 18:42
M_script_
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме:
1819761

Репутация: 180
Отправить сообщение для M_script_ с помощью ICQ
По умолчанию

Что значит "не в начале, а в конце"?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
домен в адресной строке. Cthulchu Болталка 10 03.07.2009 22:39
Хакерский сленг Utochka Болталка 18 20.06.2007 12:24
«Красный Крест» запрещает использование своего символа на аптечках в компьютерных игр dinar_007 Болталка 4 13.02.2006 07:35



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ