Borland C++ Builder. Początkujący jestem


(baciany) #1

Mam problem. Zrobiłem (a raczej zacząłem) program w którym jest ramka na podanie imienia i nazwiska. Oraz guzik Wyślij wiadomości. Jak zrobic aby ten program po naciśnieciu Guzika wyślij wysyłał wpisane dane na mój adres email.

Jeżeli nie wiecie o co chodzi to weźcie nowy projekt i wwalcie 2 komponenty

Label (napis-ikonka z literą A) i Edit (Ikonka z napisem ab] - to jest kursor)

I guzik. I teraz zeby ten guzik wysyłał to wszystko na mój email.

Złączono Posta : 26.04.2007 (Czw) 17:17

Takie coś w stylu formulaża

Złączono Posta : 26.04.2007 (Czw) 17:43

Czy jest na inernecie jakiś Kurs Vorland C++ Bilder. Jeśli ta To dajcie Linka. Kurs dal początkujących


(xantio) #2

Polecam http://cyfbar.republika.pl/. :slight_smile:


(baciany) #3

Dziwny ten servis. Niby jest duzo ale nie widze czegoś takiego jak KURS Od podstaw albo w ogóle. Ale przyda sie.

xantio Dobry jesteś w te klocki (C++ i C++Builder)??

Jak tak to moge liczyc na twoją pomoc i porady ??


(xantio) #4

Moge ci troszke pomóc. :slight_smile:

A miałeś już jakieś kontakty z programowaniem w C/C++ ?

Jeśli nie to jest dużo kursów np. http://it.hk.pl/

Jest to minimum, żeby zacząc programowanie.

Więcej znajdziesz w google.


(baciany) #5

Znaczy zacząłem sie uczyc tydzień temu ze MegaTutoriala "Od Zera Do Gier Kodera" i jest nawet ciekawy. (uczy Visual C++ w Microsoft Visual Studio)

Ale na razie bawię się także Borlad C++ Builder i coś prubuje bo w ni o wygląd łatwiej zadbac. A na razie mi powiedz jak zrobic to o co pytam.

Jak jest pole Podaj swoje imie i guzik wyślij to jaką funkcje i w którum miejscu trzeba dac zeby guzik to co tam wpisANO wysyłam mi na emaila.

Mugłbyś opisa albo dac mi Gotowy kod chociaż z 1 POLEM zeby zakumał

_________________________________

Mam pomysł zeby nazwe tego działu zmienic na KURS C++ (naucz mnie)

:mrgreen: :mrgreen: :mrgreen: :mrgreen:


(xantio) #6

To masz opisane na tej stronie co ci podałem.

W dziale Porady/Sieć - Internet - http://cyfbar.republika.pl/differ.html#differ11

Myśle ze o coś podobnego ci chodzi.


(baciany) #7

Podaj mi swój numer GG (najlepiej przyślij w wiadomości peyatnej by nikt nie zobaczył). bedzie łatwiej sie komunikowac i pokazywac o co chodzi. DZIEKI MISTRZU (od dziś jesteś moim mistrzema a ja jestem Padawan - bedziesz mnie uczył :mrgreen: )

Złączono Posta : 26.04.2007 (Czw) 19:39

Dzieki za Link. O to chodziło Ale coś mi nie wychodzi. Chyba cośźle robie bo przy kompilacji nie kompilue a błędu nie zaznacza (przenosi na koniec tylko )

Złączono Posta : 26.04.2007 (Czw) 19:52

Czy robie coś źle.

Wstawiam komponenty

I pisze taki kod

//---------------------------------------------------------------------------


#include 

#pragma hdrstop


#include "Unit1.h"

#include 

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

void __fastcall TForm1::SendMail(char * Adress, char * Title, char * Note, String FileName)

{

 HANDLE hMAPILib = LoadLibrary("MAPI32.DLL");


 LPMAPILOGON MapiLogon = (LPMAPILOGON)GetProcAddress(hMAPILib, "MAPILogon");

 LPMAPISENDMAIL lpMapiSendMail = (LPMAPISENDMAIL)GetProcAddress(hMAPILib, "MAPISendMail");

 LPMAPILOGOFF MapiLogoff = (LPMAPILOGOFF)GetProcAddress(hMAPILib, "MAPILogoff");


 LHANDLE mapiSession;

 (*MapiLogon)(0, NULL, NULL, 0, 0, &mapiSession);


 MapiRecipDesc SendTo = {0, MAPI_TO, NULL, Adress, 0, NULL}; // przejmowanie adresu e-mail

 MapiFileDesc DFile = {0, 0, 0, FileName.c_str(), FileName.c_str(), NULL}; // przejmowanie lokalizacji pliku załącznika.

 MapiMessage Message = {0, Title, Note, NULL, NULL, NULL, 0, NULL, 1, &SendTo, 1, &DFile}; // przejmowanie tematu i treści listu oraz adresu i załącznika.


 (*lpMapiSendMail)(0, 0, &Message, 0, 0); // wysyłanie e-mail'a.

 (*MapiLogoff)(mapiSession, 0, 0, 0);


 FreeLibrary(hMAPILib);

}

//--------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

 if(OpenDialog1->Execute())

  SendMail(("SMTP:" + Edit1->Text).c_str(), Edit2->Text.c_str(), Memo1->Text.c_str(), OpenDialog1->FileName);

}

//--------------------------------

Czy tu jest błąd. Czy to wina czegoś innego


(xantio) #8

Tylko nie mistrzu - są lepsi :slight_smile: Podaółem ci tylko prostą porade.

Uczyć to sie musisz sam. :slight_smile: Pomoge co nieco.


(baciany) #9

To powieedz co tu mam źle w tej poradzie było ze tak (ale moze coś pomyliłem)

Złączono Posta : 26.04.2007 (Czw) 19:55

Szkoda ze nie ma do tego kodu źrudłowego

:-o :frowning:


(xantio) #10

kod jest prawidłowy, jeśli wszystko robisz ok to powinno wszystko działać.

Dodaj sobie komponenty Edit1 Edit2 Memo1OpenDialog1 oraz Button1 i kliknij 2x w komponent Button1 na formularzu.


(baciany) #11

nO TO KLIKAM I PRZENOSI MNIE W TAKIE MIEJSCE

void __fastcall TForm1::Button1Click(TObject *Sender)

{


}

//---------------------------------------------------------------------------

a JAK BIORE KOMPILACJE TO WYSKAKUJE BłąD (ZAZNACZA NA CZERWONO NAWIAS który zaznaczyłęm strzałeczką -tylko tutaj w kodzie nie- <-------------------------------) Dzikie.

TForm1 *Form1;

//---------------------------------------------------------------------------

void __fastcall TForm1::SendMail(char * Adress, char * Title, char * Note, String FileName)

{ <-------------------------------

 HANDLE hMAPILib = LoadLibrary("MAPI32.DLL");