[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

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

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

    Joined:
    28 Sep 2008
    Messages:
    59
    Likes Received:
    3
    Reputations:
    0
    имхо Библия Delphi от корки до корки.
     
  2. Voland-791

    Voland-791 Member

    Joined:
    1 May 2009
    Messages:
    163
    Likes Received:
    13
    Reputations:
    5
    Такой вопрос я внес данные в массив из переменной как мне этиже данные (строку) убрать какай нужна команда к нопки? хочу делать через условия..
     
    1 person likes this.
  3. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    аннулируй ее, в чем проблемы?
     
  4. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    дело не в программе, а во-первых в странице и в браузере..
     
  5. Voland-791

    Voland-791 Member

    Joined:
    1 May 2009
    Messages:
    163
    Likes Received:
    13
    Reputations:
    5
    Я хочу чтобы она убрала тольео то что я укажу (строчки,слова)
     
  6. JnK

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

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    1. В цикле пробегаешь по массиву (For, While)
    2. Сравниваешь текущий эл. массива с эталоном (If ...(mass=str , Pos(str,mass) , i=номер строки) then)
    3. Применяешь функции (Delete, или свои если удалить эл. массива)

    + / - эл. дин. массива
     
    #5786 JnK, 11 Apr 2010
    Last edited: 11 Apr 2010
  7. Axeee

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

    Joined:
    26 Nov 2008
    Messages:
    286
    Likes Received:
    15
    Reputations:
    0
    помоему я задал конкретный вопрос, а не спросил в чем дело..

    я так понял никто не знает как убрать эту ошибку да ?

    она появляется после нажатия буттона отвечающий за переход по ссылке.. пробывал даже сайт сменить, не помогает :\
     
  8. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    axeee, forum.windowsfaq.ru/showthread.php?t=90695
    или же попробуй погуглить на слова "Ошибка сценария IE" :)
     
  9. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    Скажите как мне создать папку в том каталоге, который выберет юзер?

    [​IMG]

    procedure TForm4.Button1Click(Sender: TObject);
    var
    fold: string;
    begin
    fold := shelltreeview1.SelectedFolder.PathName;
    CreateDir(fold+'000');
    end;

    НЕ КАТИТ!
     
  10. JnK

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

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    Почему не катит?
    PHP:
    CreateDir(path+'\SnapShot');
    Просто скорее всего у тебя в fold идет типа 'c:\temp'
    для этого надо добавить '\' и каталог который хочешь создать.

    P.s. Ccылка
     
    #5790 JnK, 11 Apr 2010
    Last edited: 11 Apr 2010
  11. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    Потому что папка создаётся сразу, юзеру же нет возможности при создании директории видеть эту папку и переименовать. Тоесть эффект должен быть такой: юзер жмет Создать папку, она должна в этом окне что на скрине появится и предложить её переименовать. Ну я думаю ты меня понял...
     
  12. EndLeSSDre@M

    EndLeSSDre@M Banned

    Joined:
    18 Jul 2009
    Messages:
    142
    Likes Received:
    99
    Reputations:
    -5
    Для того, чтобы изменения показывались сразу есть Свойство AutoRefresh // по-умолчанию False.

    Далее создаёшь новый каталог

    PHP:
    NewFolder:=ShellTreeView1.Path+'\New Folder'CreateDir(NewFolder); 
    или 
    ForceDirectories
    (NewFolder)
     
  13. JnK

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

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    PHP:
    function BrowseCallbackProc(hwndHWNDuMsgUINTlParamLPARAMlpData:
      
    LPARAM): Integerstdcall;
    begin
      
    if (uMsg BFFM_INITIALIZEDthen
        SendMessage
    (hwndBFFM_SETSELECTION1lpData);
      
    BrowseCallbackProc := 0;
    end;

    function 
    GetFolderDialog(HandleIntegerCaptionstring; var strFolder:
      
    string): Boolean;
    const
      
    BIF_STATUSTEXT = $0004;
      
    BIF_NEWDIALOGSTYLE = $0040;
      
    BIF_RETURNONLYFSDIRS = $0080;
      
    BIF_SHAREABLE = $0100;
      
    BIF_USENEWUI BIF_EDITBOX or BIF_NEWDIALOGSTYLE;
     
    var
      
    BrowseInfoTBrowseInfo;
      
    ItemIDListPItemIDList;
      
    JtemIDListPItemIDList;
      
    PathPAnsiChar;
    begin
      Result 
    := False;
      
    Path := StrAlloc(MAX_PATH);
      
    SHGetSpecialFolderLocation(HandleCSIDL_DRIVESJtemIDList);
      
    with BrowseInfo do
      
    begin
        hwndOwner 
    := GetActiveWindow;
        
    pidlRoot := JtemIDList;
        
    SHGetSpecialFolderLocation(hwndOwnerCSIDL_DRIVESJtemIDList);
     
        { return 
    display name of item selected }
        
    pszDisplayName := StrAlloc(MAX_PATH);

        { 
    set the title of dialog }
        
    lpszTitle := PChar(Caption); //'Select the folder';
        
    flags that control the return stuff }
        
    ulFlags := BIF_RETURNONLYFSDIRS or BIF_NEWDIALOGSTYLE ;
      
    //  ulFlags := ulFlags or BIF_NEWDIALOGSTYLE or BIF_RETURNONLYFSDIRS;
     //ulFlags := ulFlags or BIF_RETURNONLYFSDIRS;
        
    lpfn := @BrowseCallbackProc;
        { 
    extra info that's passed back in callbacks }
        lParam := LongInt(PChar(strFolder));
      end;

      ItemIDList := SHBrowseForFolder(BrowseInfo);

      if (ItemIDList <> nil) then
        if SHGetPathFromIDList(ItemIDList, Path) then
        begin
          strFolder := Path;
          Result := True
        end;
    end;
    PHP:
      if not GetFolderDialog(GetStdHandle(STD_OUTPUT_HANDLE), 'Выберите каталог'Paththen
    в Path окажется выбор пользователя.


    P.s. возможно понадобится uses ShlObj;
     
    #5793 JnK, 11 Apr 2010
    Last edited: 11 Apr 2010
  14. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    EndLeSSDre@M, ок, а как сделать эффект чтобы после создании папки, сразу переходило на переименование директории, т.к. в твоём примере создаётся папка 'где то там'.

    JnK, это сложно для меня )
     
  15. JnK

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

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    А что тут сложного в программе сразу после {$R *.dfm} пишешь, выше указаный код:
    PHP:
    uses ShlObj;

    function 
    BrowseCallbackProc(hwndHWNDuMsgUINTlParamLPARAMlpData:
      
    LPARAM): Integerstdcall;
    ...
    end;

    function 
    GetFolderDialog(HandleIntegerCaptionstring; var strFolder:
      
    string): Boolean;
    ....
    end;
    А кнопка выглядит так:
    PHP:
    procedure TForm1.Button1Click(SenderTObject);
    var
      
    path:string;
    begin
    if GetFolderDialog(GetStdHandle(STD_OUTPUT_HANDLE), 'Выберите каталог'Paththen
      Showmessage
    (path);
    end;
     
  16. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    JnK, это не то что мне надо (
     
  17. JnK

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

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    SkyLine32, в плане кода?
    Я как понял, тебе надо.
    1. открылось окно выбора каталога
    2. Пользователь нажал "Создать каталог", и он в выделенном создает под каталог
    3. и предлагает ввести (исправить) имя (не отдельный окном), а прям там.

    [​IMG]

    Может плохо гуглил, но насчет компонента:
    Link 1
    Link 2

    PHP:
    procedure TForm1.Button1Click(SenderTObject);
    begin
      Path 
    := tree.Path// полный путь к выбранной в ShellTreeView папке
      
    Name := tree.Selected.Text;// тут будет только имя выбранной папки
      
    Dir := ExtractFileDir(p);//тут будет путь к выбранной папке без нее самой
      // теперь как советовал Arigato
      
    RenameFile(Path '/' NamePath '/' 'Какое-то новое имя');
      
    Tree.Refresh(Tree.Selected.Parent);
    end;
     
    #5797 JnK, 12 Apr 2010
    Last edited: 12 Apr 2010
  18. DdoNbAsS

    DdoNbAsS New Member

    Joined:
    6 Apr 2010
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    Приветствую всех кодеров,вот есть такой очень важный для меня вопрос я все облазил не нашёл ответа на него,моя дальнейшая судьба будет зависеть от вас в программировании потому что уже честно устал продвижение нету!
    Вот я начну Решил я Научиться кодить,очень много думал,у меня есть интерес!Вот я Начал как Новичок с Паскаля,Потом думаю Делфи,Си,и так далее.
    Но я не могу то толком начать решать задачи на паскале и делать примеры очень обидно я быстро его начал осваивать и уже много чему научился а примеры не получаются!
    Вот скачал Много Книг,С книги беру пример любой и все ровно выбивает ошибку в паскале!
    Вот пример с книги Первая программа.
    PHP:
     BEGIN      
    Write
    ('Начали!');  
        
    Write(8+1);  
        
    Write(5-2)  
    END.   
    Должно получиться Начали!93
    Я веду имел этим что при каждом примере с книг не получается с ответом как в книги числа разные бывают то не высчитает,или ошибку пишет.
    Помоги Пожалуйста Надеюсь на Вашу помощь,
    Может посоветовать Литературы!
    Спасибо за рани
     
    #5798 DdoNbAsS, 12 Apr 2010
    Last edited: 12 Apr 2010
  19. EndLeSSDre@M

    EndLeSSDre@M Banned

    Joined:
    18 Jul 2009
    Messages:
    142
    Likes Received:
    99
    Reputations:
    -5

    из всего написанного я так и не понял что требуется??? и кстати там точки с запятой после врайта не хватает))) поясни свой вопрос в 2х словах! и readln в конце не забывай добавлять чтоб результат посмотреть!

    PHP:
    program vivod;
    uses crt;
    begin
    write
    ('Begin!');
    write(8+1);
    write(5-2);
    readln;
    end.
     
    #5799 EndLeSSDre@M, 12 Apr 2010
    Last edited: 12 Apr 2010
    1 person likes this.
  20. DdoNbAsS

    DdoNbAsS New Member

    Joined:
    6 Apr 2010
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    Учюсь по книгам Паскалю примеры не могу выполнить с книги,То выпевает ошибка,или не сходиться с ответом в книги!
     
Thread Status:
Not open for further replies.