[ 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. Пуховой

    Joined:
    25 Nov 2007
    Messages:
    46
    Likes Received:
    37
    Reputations:
    0
    wolmer, edit1.text := char(39);
     
    1 person likes this.
  2. transserg

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

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    привет всем как можно узнать список всех открытых файлов в нужной директории или диске и какой программой этот файл открыт
     
  3. NDPrince

    NDPrince Banned

    Joined:
    26 Aug 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Всем привет, подскажите кто нибудь учебник по дельфи 2007, а то погуглив я ничего не нашёл(
     
  4. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    Значит руки того... Вбей в гугл
    Code:
    delphi 2007 учебник 
     
  5. DreHows

    DreHows New Member

    Joined:
    21 Sep 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Прошу не пинать. Помню что где-то на форуме то уже видел, но не помню где, поиск не помог.
    Как из Delphi от править мыло на определенный адрес?
    Как вместе с этим сообщением отправить определенный файл?
     
  6. Dosia

    Dosia Member

    Joined:
    5 Jun 2009
    Messages:
    118
    Likes Received:
    81
    Reputations:
    6
    Когда то давно кодил такое дело:

    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, IdAntiFreezeBase, IdAntiFreeze, IdComponent,
      IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, IdBaseComponent,
      IdMessage;
    
    type
      TForm1 = class(TForm)
        IdMessage: TIdMessage;
        SMTP: TIdSMTP;
        IdAntiFreeze1: TIdAntiFreeze;
        Button1: TButton;
        OpenDialog1: TOpenDialog;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    function SendMail(Smtp:tidsmtp;IdMessage:tIdMessage;Username,Password,Host:string;Port:integer;fromAddress,fromName,recipientsMailAdress,AttachPath,Subject,Text:string):boolean;
    var
    attach:TidAttachment;
    begin
    result:=false;
    SMTP.AuthenticationType:= atLogin;
    SMTP.Username:=Username;
    SMTP.Password:=Password;
    SMTP.Host:=Host;
    SMTP.Port:=Port;
    IdMessage.Body.Add(Text);
    IdMessage.Subject:=Subject;
    IdMessage.From.Address:=fromAddress;
    IdMessage.From.Name:=fromName;
    IdMessage.Recipients.EMailAddresses:=recipientsMailAdress;
    IdMessage.IsEncoded:=true; 
    attach:=TIdAttachment.Create(idMessage.MessageParts,AttachPath);
    try 
    SMTP.Connect;
    if SMTP.Connected then
    begin
    SMTP.Send(IdMessage);
    result:=true;
    end
    else result:=false;
    finally 
    SMTP.Disconnect;
    end;
    attach.Free;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    opendialog1.InitialDir :=getcurrentdir;
    opendialog1.Title := 'Укажите файл который вы хотите отправить';
    if opendialog1.Execute = false then exit;
    if SendMail(Smtp,idMessage,'egorka100','5555','smtp.mail.ru',25,'[email protected]','Egor','[email protected]',opendialog1.FileName,'Hello','Hello world!')= true then showmessage('Your letter has been successfully sent')
    else
    showmessage('Your letter has not been successfully sent');
    end;
    
    end.
    Исходный файл проекта
     
    #4246 Dosia, 27 Sep 2009
    Last edited: 27 Sep 2009
  7. DreHows

    DreHows New Member

    Joined:
    21 Sep 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Благодарю :)
    У меня отсутствуют некоторые компоненты, можно пример на стандартных компонентах?
     
    #4247 DreHows, 27 Sep 2009
    Last edited: 27 Sep 2009
  8. Dosia

    Dosia Member

    Joined:
    5 Jun 2009
    Messages:
    118
    Likes Received:
    81
    Reputations:
    6
    Понравилась поставленная задача, написал прогу, исходники и описание тут.

    ЗЫ: Пока не показывает какая программа работает с файлом.

    тут можно скачать используемые мной компоненты (indy)

    Выбираеш "Component" -> "Install package" -> "Add", указываеш путь до (Indy*0.dpk), где * твоя версия делфи, если больше 7, то ставь 7, дальше я думаю разберешся.
     
    #4248 Dosia, 27 Sep 2009
    Last edited: 27 Sep 2009
    1 person likes this.
  9. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Вот это погляди http://alekhej-m.narod.ru/software/light_smtp.rar
     
    #4249 alexey-m, 27 Sep 2009
    Last edited: 27 Sep 2009
  10. sultan08

    sultan08 New Member

    Joined:
    23 Sep 2009
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    как на кнопке сделать направления текста не слева на право,а с верху вниз?типа
    Д
    е
    л
    ф
    и
     
  11. Dosia

    Dosia Member

    Joined:
    5 Jun 2009
    Messages:
    118
    Likes Received:
    81
    Reputations:
    6
    procedure TForm1.FormCreate(Sender: TObject);
    var
    strCaption:string;
    intI:integer;
    begin
    strCaption:=BitBtn1.Caption;
    BitBtn1.Caption:='';
    for intI:=length(strCaption) downto 1 do BitBtn1.Caption := strCaption[intI] +char(13)+char(10)+ BitBtn1.Caption
    end;

    Результат работы:

    [​IMG]

    Можно еще через Canvas, но там труднее.
     
  12. t04

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

    Joined:
    10 Jan 2007
    Messages:
    137
    Likes Received:
    40
    Reputations:
    8
    можно функцией попроще пользоваться:

    Code:
    function Vertical(const S:String):String;
    var
      i:LongWord;
    begin
      if length(S) < 2 then 
        Result := S;
      Result := S[1];
      for i := 2 to Length(S) do
        Result := Result+#13#10+S[i];
    end;
    
    пользоваться так:
    Code:
      BitBtn1.Caption:=Vertical('мой текст или переменная');
     
  13. Dosia

    Dosia Member

    Joined:
    5 Jun 2009
    Messages:
    118
    Likes Received:
    81
    Reputations:
    6
    Code:
    Some additions
    
    Actually TShockwaveFlash and some its methods do not always work correctly. For example, the movie does not stretch automatically resizing of a parent window; property Menu does not make disabled the popup menu completely; property PopupMenu does not show the custom menu. Some tips how to expand the TShockwaveFlash possibilities are below. 
    Fixed visual bugs with resizing
    Code:
    TShockwaveFlash = class (TOleControl)
    ...
    public
      Procedure CreateWnd; override;
    ...
    
    Procedure TShockwaveFlash.CreateWnd;
    begin
      inherited;
    end; 
    
    // in main unit
    Procedure TMain.OnResize (sender: TObject);
    begin
      ShockwaveFlash.CreateWnd;
    end;
    отсюда

    Поправил исходники (скаченные с того же сайта) как сказано там, по - моему оно работает. Но работает со стандартным подходом - присваиваем width,height формы, создается как надо. Потом вызываем процедуру Flash.CreateWnd;

    Code:
    uses  ShockwaveFlashlols_TLB...
     
    var
    Form1: TForm1;
    Flash : TShockwaveFlash;
    
    procedure TForm1.Button5Click(Sender: Tlol);
    begin
    Flash := TShockwaveFlash.Create(self);
    Flash.Parent := self;
    [B]Flash.Width :=form1.Width;
    Flash.Height :=form1.Height;
    Flash.CreateWnd;[/B]
    Flash.Movie:='C:\prank.swf';
    Flash.Play;
    end;
    
    procedure TForm1.FormResize(Sender: TObject);
    begin
    [B]Flash.Width :=form1.Width;
    Flash.Height :=form1.Height;
    Flash.CreateWnd;[/B]
    end;
    
    Можно через SendMessage попробовать послать событие нажатия левой кнопки мыши на Flash.
     
    #4253 Dosia, 28 Sep 2009
    Last edited: 28 Sep 2009
    2 people like this.
  14. boooch

    boooch Member

    Joined:
    3 Sep 2009
    Messages:
    5
    Likes Received:
    6
    Reputations:
    5
    А как можно, чтобы при нажатии на кнопку из реестера удалялась определенная папка??
    И еще вопросик: как можно запихать звук в программу и потом можно было-бы проиграть этот звук при нажатии на кнопку ( ну чтобы музыка была в файле эт я могу, а что надо вписать в код программы, чтобы звук проигрался....
    Заранее большое спасибо
     
  15. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    PHP:
    uses Registry

    procedure TForm1
    .Button2Click(SenderTObject);
    var
      
    RegTRegistry;
    begin
      Reg
    :=TRegistry.Create;
      
    Reg.RootKey:=HKEY_LOCAL_MACHINE;
      
    Reg.DeleteKey('software\test');
    end;
     
  16. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Button1.Caption:='T'+#13#10+'E'+#13#10+'S'+#13#10+'T'; :D
     
  17. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 Nullsleep не забывай про свойство WordWrap
     
  18. xtra

    xtra New Member

    Joined:
    11 Mar 2007
    Messages:
    26
    Likes Received:
    2
    Reputations:
    0
    ребята, завтра надо сдать кровь из носа. сам, не сделаю никогда. помогите пожалуйста.
     
  19. Dosia

    Dosia Member

    Joined:
    5 Jun 2009
    Messages:
    118
    Likes Received:
    81
    Reputations:
    6
    Язык Delphi? Интерфейс нужен?
     
  20. xtra

    xtra New Member

    Joined:
    11 Mar 2007
    Messages:
    26
    Likes Received:
    2
    Reputations:
    0
    нет нет нет, язык паскаль. консоль.
     
Thread Status:
Not open for further replies.