Переменная[Delphi]

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by sidapas23, 22 Apr 2011.

Thread Status:
Not open for further replies.
  1. sidapas23

    sidapas23 New Member

    Joined:
    13 Nov 2010
    Messages:
    88
    Likes Received:
    2
    Reputations:
    -3
    Помогите как удалить из переменной не нужный символы?
     
  2. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
  3. sidapas23

    sidapas23 New Member

    Joined:
    13 Nov 2010
    Messages:
    88
    Likes Received:
    2
    Reputations:
    -3
    А какой использовать тип переменной для добавления в переменную и строки и спец символы и цифры?И как удалить от туда нужный мне текст?
     
  4. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    используй все, очень хорошо, когда много массивов, размерностью примерно 2000 элементов, типа String или даже Int64 ( как сейчас модно)
    И все будет отлично!
    Запомни, чем больше массивов-тем лучше. Можно даже многомерных!
     
  5. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Все что ты перечислил относится к строковым/символьным типам данных.
    По ссылке сходи, там есть и примеры. Чтобы удалить достаточно заменить удаляемую подстроку на '', мог бы и сам догадаться.
     
  6. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    вариант 1
    удаляем один символ "simvol" из строки "stroka"
    PHP:
    while(stroka.Pos(simvol))
        
    stroka.Delete(stroka.Pos(simvol), 1);
    вариант 2
    удаляем все символы, содержащиеся в строке "stroka_simvolov" из строки "stroka"
    PHP:
    for(int i 1<= stroka_simvolov.Length(); ++i)
        while(
    stroka.Pos(stroka_simvolov[i]))
            
    stroka.Delete(stroka.Pos(stroka_simvolov[i]), 1);
    p.s.: кому не лень, переведите с билдера на делфи, чтобы ТС понял
     
    #6 M_script, 22 Apr 2011
    Last edited: 22 Apr 2011
  7. sidapas23

    sidapas23 New Member

    Joined:
    13 Nov 2010
    Messages:
    88
    Likes Received:
    2
    Reputations:
    -3
    Да мне бы код на Делфи
     
  8. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    а мне бы SL65 битурбированный.
     
  9. sidapas23

    sidapas23 New Member

    Joined:
    13 Nov 2010
    Messages:
    88
    Likes Received:
    2
    Reputations:
    -3
    блин поможет кто нить?
     
  10. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    Code:
    procedure DelSubStr(var stroka:string; podstroka:string);
    var p:integer;
    begin
    repeat
    p:=pos(podstroka, stroka);
    if p>0 then
    delete(stroka, p, length(podstroka));
    until p=0;
    end;
    
    пример использования:
    Code:
    -----------------------
    var s:string;
    begin
    s:='I am a noob, because I can not to write this simple code myself';
    DelSubStr(s, 'I am a noob, because');
    writeln(s);
    end;
    -----------------------
    
    п.с. код писал с телефона :) потому если будут ошибки прошу не пинать ;)
     
  11. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    перевел свои примеры на делфи
    PHP:
    while Pos(simvolstroka) > do 
        
    Delete(strokaPos(simvolstroka), 1);
    PHP:
    for := 1 to Length(stroka_simvolov) do
        while 
    Pos(stroka_simvolov[i], stroka) > do 
            
    Delete(strokaPos(stroka_simvolov[i], stroka), 1); 
     
    #11 M_script, 22 Apr 2011
    Last edited: 22 Apr 2011
  12. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    или-же когда не надо париться http://www.delphibasics.co.uk/RTL.asp?Name=StringReplace
     
  13. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    верно, но StringReplace вроде в модуле StrUtils, а тащить с собой вес этого модуля для решения такой задачи - бред. ИМХО
     
  14. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Еще варианты
    PHP:
    for := 1 to Length(stroka) do
        if 
    stroka[i] = simvol do
            
    Delete(strokai1); 
    PHP:
    for := 1 to Length(stroka) do
        if 
    Pos(stroka[i], stroka_simvol) > do
            
    Delete(strokai1);
     
  15. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    [offtop]какой же все-таки неудобный синтаксис у паскаля =)[/offtop]
     
  16. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    [​IMG]

    я объебался или там справа сверху написано SysUtils?

    Да если и StrUtils -> правая кнопка, редактировать, скопировал код нужной функции и все

    M_script, поддерживаю
     
  17. sidapas23

    sidapas23 New Member

    Joined:
    13 Nov 2010
    Messages:
    88
    Likes Received:
    2
    Reputations:
    -3
    Да я все разобрался Patcher помог
     
  18. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    по ссылке не переходил, мог и ошибится...
    ну вот как бы ты обьяснял это для ТС, если предположить, что функция еще и зависима от констант, методов и других функций модуля?))
     
  19. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    значит это такая функция, которую так просто не напишешь, следовательно без модуля ее не потаскаешь, и никакого профита не будет
     
  20. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    Очень даже удобный.
     
Thread Status:
Not open for further replies.