C# vs Delphi Round 1
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGやっぱり死滅しちゃいますか?
0154デフォルトの名無しさん
NGNGDel厨が嫌がって対決になりません。
0155デフォルトの名無しさん
NGNG先手打てば?さっさと。
そうすれば堂々とお前たちの勝利を宣言できる。
0156デフォルトの名無しさん
NGNGこのスレをダウソしてローカルファイルに保存せよ。
0157デフォルトの名無しさん
NGNG.NETなら10行切るな・・・。
0158デフォルトの名無しさん
NGNGclass a
{
static void main()
{
WebClient b = new WebClient();
b.DownloadFile("http://めんどいから省略〜","c:\a.html");
}
}
0159Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ ゚Д゚ミ ∫< ゾヌ作者DaxタンのTips
.(ミ ミっ-~ \__________
〜ミ,,⊃ミ⊃ ああ、ありがたや!
http://members.jcom.home.ne.jp/monazilla/document/indytips.html
0160デフォルトの名無しさん
NGNGメールを送信するプログラムを作成せよ。
0161デフォルトの名無しさん
NGNGinterface
uses Winsock,classes,Windows,SysUtils;
type
TMyHTTP = class
private
wsa :TWSAData;
function MyConnect(URL :string) :Integer;
public
Port :Integer;
Options :TStringList;
constructor Create;
destructor Destroy;override;
function Get(URL :string) :string;
end;
implementation
//接続
//引数:ホスト名
//返値:ソケット
function TMyHTTP.MyConnect(URL :string) :Integer;
var
sock :TSocket;
addr :TSockAddrIn;
hostent :PHostEnt;
begin
0162デフォルトの名無しさん
NGNGaddr.sin_family := AF_INET;
addr.sin_port := htons(Port);
hostent := gethostbyname(PChar(URL));
addr.sin_addr.S_addr := PInteger(HostEnt.h_addr^)^;
connect(sock,addr,sizeof(addr));
Result := sock;
end;
constructor TMyHTTP.Create;
begin
Port := 80;
Options := TStringList.Create;
WSAStartup(MAKEWORD(1, 1),wsa);
end;
destructor TMyHTTP.Destroy;
begin
WSACleanup;
Options.Free;
inherited;
end;
0163デフォルトの名無しさん
NGNG//引数:URL
//返値:リプライメッセージ
function TMyHTTP.Get(URL :string) :string;
var
sock :TSocket;
host :string;
fil :string;
data :array[0..2048] of char;
data2 :array[0..2048] of char;
recvbyte :Integer;
begin
host := Copy(URL,0,Pos('/',URL) - 1);
fil := Copy(URL,Pos('/',URL),length(URL));
StrCopy(data,PChar('GET ' + fil + ' HTTP/1.0'#13#10 + Options.Text + #13#10#13#10));
sock := MyConnect(host);
send(sock,data,2048,0);
while(true) do
begin
recvbyte := recv(sock,data2,2048,0);
if(recvbyte = 0) then
break;
data2[recvbyte] := #0;
0164デフォルトの名無しさん
NGNGend;
closesocket(sock);
end;
end.
晒してみる。
0165デフォルトの名無しさん
NGNGusing System.Web.Mail;
class AAA {
public static void Main() {
MailMessage msg = new MailMessage();
msg.To = "〜";
msg.Subject = "テスト";
msg.Body = "テスト送信します。";
SmtpMail.Send(msg);
}
}
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG後発かつインターネットでの連携を考慮したライブラリだからね。
0168デフォルトの名無しさん
NGNGbegin〜end読みにくい
静的変数(static)使えない
varの所でしか宣言できない
厨っぽい
0169Delフサギコ ◆zE1iiRdQ
NGNG〜′,,,,,,,,,,ミ,,゚Д゚彡 < けっこう、強力やなー
UU"""" U U[大阪弁]__________
メール送信って、Indyではどや?
NMPOPだとニポン語エンコド問題が
非常にネクになってたので、やりずらかったはず。
0170Del厨房no71
NGNGfunction GetHttp(url:string):string;
var hSession:HINTERNET;
hService:HINTERNET;
var rsiz:DWORD;
buf:string;
begin
Result:='';
setlength(buf,$10000);
hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil,nil, 0 );
if assigned( hSession) then try
hService := InternetOpenUrl( hSession, PChar(url), nil, 0, 0, 0 );
if assigned( hService ) then try
repeat
InternetReadFile( hService , PChar(buf) , length(buf)-10 , rsiz );
Result:=Result+copy(buf,1,rsiz);
until rsiz=0;
finally InternetCloseHandle(hService) ; end;
finally InternetCloseHandle(hSession) ;end;
end;
//////// ほら1行書くだけ ///////
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Lines.Text:= GetHttp('http://pc.2ch.net/test/read.cgi/tech/1021550705/');
end;
0171デフォルトの名無しさん
NGNGかといってAPIで負しても仕方ないしな。
>>168
正直にわからないと言いなさいw
0172デフォルトの名無しさん
NGNGはナシってことで
0173デフォルトの名無しさん
NGNGDel厨も何か有利なお題出してみたら?
0174デフォルトの名無しさん
NGNGソース出さなかった奴に限ってよく吠えるw
0175Del厨房no71
NGNGShellExecute の場合でも エンコードコードが必要なので1レスで書くのは厳しいです
0176デフォルトの名無しさん
NGNGそれならBCBの圧勝ですか?
0177デフォルトの名無しさん
NGNGCDO使えばいいじゃん。
0178Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ*゚Д゚*ミ < どやってか、コソーリ教えれ
(ミ ミ \____________
〜ミ ,,, ミ
し' `J
ShellExecuteでメーラー起動ならわかるんだが…(藁
0180Delフサギコ ◆zE1iiRdQ
NGNGミ ゚Д゚彡
〜ミ,,,,uuミ
∧ ∧ ショボーン
ミ,,。_。彡
〜ミ,,,,uuミ
メーラー起動なら…
procedure TForm1.Button2Click(Sender: TObject);
var
MailAddress, Subject, Body, CommandLine: String;
begin
MailAddress := '[email protected]';
Subject := 'メールのタイトル';
Body := StringReplace( Memo1.Text, #13#10, '%0D%0A', [rfReplaceAll]) ;
{ #13#10は'%0D%0A'のようにエスケープしる。 }
CommandLine :=
Format('mailto:%s?subject=%s&body=%s', [MailAddress, Subject, Body]);
ShellExecute(Handle, nil, PChar(CommandLine), nil, nil, SW_SHOWNORMAL);
end;
0181Del厨房no71
NGNGエンコードはもっとしっかりやらないと化ける元かも
速度考えないで書いたのは
function EncodeStr(const s:string):string;
var i:integer;
begin
Result:='';
i:=1;
while i<=length(s) do
begin
case s[i]of
#0..#31,'"','''',',','&','%':
Result:=Result+'%'+IntToHex(ord(s[i]),2);
else begin
Result:=Result+s[i];
end;
end;
inc(i);
end;
end;
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNGコード晒さない奴がコード晒す奴をバカにする権利はない。
0184Del厨房no71
NGNGhttp://www.nifty.ne.jp/forum/fdelphi/samples/01302.html
0185デフォルトの名無しさん
NGNGプログラムからHello Worldプログラム(コンソールアプリ)のソースを出力し、
コンパイルし、できたexeを実行せよ。
0186デフォルトの名無しさん
NGNG書いても良いんだけどそれは難題か?
もしかしてDelphiコマンドラインコンパイラ無いとか思ってる?
0187デフォルトの名無しさん
NGNGお前の日本語が難解だよ。
0188Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚ミ < テキストファイル出力して
ミ ミ \ShellExecuteでdcc.exeに渡して
〜ミ,UU_ミ その結果をShellExecuteするんすか?
こりゃまた....
0189デフォルトの名無しさん
NGNG却下。.NETに有利すぎる。(w
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGDelphiが試されてるんだからそれでいいんじゃないの?
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNGわざわざCとMFC戦わせてるようなもん。
0194デフォルトの名無しさん
NGNGDelphiだとそういう原始的な手段しかない。
.NETの方はソース生成もコンパイルも実行も、ライブラリの範囲内でエレガントにできてしまう。
0195デフォルトの名無しさん
NGNGprocedure Exec(const Cmd: PChar);
var SInfo: STARTUPINFO; PInfo: PROCESS_INFORMATION;
begin
GetStartupInfo(SInfo);
CreateProcess(nil, Cmd, nil, nil, False, 0, nil, nil, SInfo, PInfo);
WaitForSingleObject(PInfo.hProcess, INFINITE);
end;
var F: Text;
begin
Assign(F, 'b.pas'); Rewrite(F);
Write(F, 'begin Write(''Hello World'') end.');
Close(F);
Exec('dcc32 -cc b.pas'); Exec('b.exe');
end.
0196デフォルトの名無しさん
NGNG>原始的な手段
逆に永遠に生き続けると言うことだよ。w
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGVCLはへっぽこライブラリという事ですね。
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGでもそれやると行数食うよ
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG☆ チン マチクタビレタ〜
マチクタビレタ〜
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 次のお題まだー?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG円周率を100桁求めて下さい。
0205Delフサギコ ◆zE1iiRdQ
NGNGミ ゚Д゚彡
〜ミ,,,,uuミ
マジでそんなに簡単にできんの?
自分でエディタ作ったとして、
秀マクロみたいなのが、簡単に作れるってわけざんすか
C#移行か…
さっさと、Delphi.NETしてホスイですね。
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNGCodeDOMなんか実装してたら日が暮れます。
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNGXMLファイルを構造体/クラス/レコードに読み込むプログラム。
<Person>
<Name>フサギコ</Name>
<Age>6</Age>
<Job>
<Title>遊び人</Title>
</Job>
</Person>
構造体はC風に書くと
struct Person {
char* name;
int age;
struct Job* job;
};
struct Job {
char* title;
}:
こんな感じで。やりやすい格好であればいいです。
0210195
NGNGひょっとして.NETだとコンパイラ作るのが楽?興味ありありです。
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG確かECMAには初めから盛り込まれてなかったね。
>>194ははったりなんですか?
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNGhttp://taruo.net/e/
とか参照して。
0216Del厨房no71
NGNGん? ,NET 嫌いだけど 評価の為に買ってるよ
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)
0217デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049
>>209なんか.NETで何の変換作業もいらないじゃん。
0218デフォルトの名無しさん
NGNG分っててやってるんですが(笑い
Delphiでは、まあDOMパーザはどっかから持ってくるとして、
そこからシコシコ取り出すしかないですよね?
0219Del厨房no71
NGNGXML はDTDで必ずフィールドがあるように出来るから、
delphiでも pos関数で探して取り出す方法で取り出しても問題ないよ
そしてたぶんその方法が早くて簡単・・・でも面白くない
0220デフォルトの名無しさん
NGNGXMLの先頭行に
<?xml version="1.0" encoding="Shift_JIS"?>
が必要。
using System.Xml;
using System.Xml.Serialization;
public class AAA {
public static void Main() {
XmlSerializer s = new XmlSerializer(typeof(Person));
XmlTextReader r = new XmlTextReader("data.xml");
Person p = (Person)s.Deserialize(r);
r.Close();
}
}
public class Person {
public string Name;
public int Age;
public Job Job;
}
public class Job {
public string Title;
}
0221195
NGNGXMLファイルからやりとり用インターフェース生成する機能ありませんでした?ダイレクトメールに書いてあった記憶が…
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG0224Del厨房no71
NGNGDelphi用語で実行時型情報でプロパティ名を探して一致するプロパティがあれば自動的に格納される
というような感じですか?
面白そうですね。そういう関数作ってみようかな
0225デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGだとするならXmlSerializerみたいなのも作れるのかな。やったね!
0228デフォルトの名無しさん
NGNG0229195
NGNGこれが本当なら何の苦もなくXML処理できそうなのですけど、実際のとこ教えてくれませんか?→Enterprise版持っている人
---------------------
XML データバインディングウィザード
この新しいウィザードは,XML データファイルのアクセスと更新を行うための非常に簡単な方法を提供する Delphi コードを生成します。
生成されるコードは,自然で直感的なプロパティベースのプログラミングモデルなので,Delphi コンポーネントのプログラミングと同じような感覚で XML データを操作できます。
XML データバインディングは,XML ドキュメントオブジェクトモデル(DOM)インターフェースを使う場合に必要な複雑なコーディングに代わるもので,検証された XML ドキュメントを操作するアプリケーションに最適です。
XML ドキュメントのプログラミング
XML データバインディングは,新しい TXMLDocument コンポーネントとその関連インターフェース IXMLDocument/IXMLNode に基づいています。
このコンポーネントは,XML データ処理用の DOM インターフェースの簡略版を提供します。TXMLDocument をフォームに配置し,その FileName プロパティを設定し,Active を true を設定するだけで,すべての XML データに簡単にアクセスできるようになります。
クロスプラットフォーム/ベンダーに依存しない DOM プログラミング
XML ドキュメントプログラミングサポートの最下位レベルにあるのが,新しい xmldom.pas インターフェースユニットです。
このインターフェースユニットは,クロスプラットフォームでベンダーに依存しない,W3C DOM Level 2 仕様に準拠したプログラミングを可能にするインターフェースのセットを提供します。
オープンアーキテクチャで設計されたこれらのインターフェースは,既存の DOM ベースの XML ソリューションに簡単に組み込むことができます。
データベースアプリケーションでの XML の使用
一連の新しいコンポーネントにより,XML ドキュメントを製品のデータベースアーキテクチャに組み込むことが可能になります。
コンポーネントは,任意の XML ドキュメントとクライアントデータセットのデータパケットとの間のマッピングを定義するための設計時ツールである
XML マッパーによって生成されたトランスフォーメーションファイルを使用します。
0230デフォルトの名無しさん
NGNGuses 224;
type
TJob = class
published
property Title:string;
end;
TPerson=class
published
property Name:string;
property Age:Integer;
property Job:TJob;
end;
TPersonClass = class of TPerson;
var dlist:TList;
i:Integer;
begin
with TStringList.Create do try
LoadFromFile('file.XML');
dlist:= XmlSerialize(text,TPersonClass) ; //結果はTList型で帰る
for i:=0 to dlist.Count-1 do begin
//ここで必要な処理
end;
finally free;end;
end;
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG遠くから見ても分割が一目でわかるのは絶対にC#だと思う。
それが幼稚だという人もいるかも知れんが、幼稚でも仕事が速いほうが良い。
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNGそんなアヤシイものより、MSXMLのほうがいいだろ。
最新版ダウソできるし、定期的にバグ修正版出してるし。
簡易HTTPまでついてるから、クライアントサイドはこれだけでOK。
0236デフォルトの名無しさん
NGNG2chでは再現できない部分だね
Delが最初から予約語を太字で表現できたのに対し
VSは.NETになってからじゃなかったっけ
0237デフォルトの名無しさん
NGNGこういうのを想定してたのかな?
using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.IO;
using System.Reflection;
using System.Text;
class Test
{
public static void Main() {
// CodeDomを取得
CodeCompileUnit unit = GenerateCompileUnit();
// 言語を決定
CodeDomProvider provider = new Microsoft.CSharp.CSharpCodeProvider();
// CodeDomProvider provider = new Microsoft.VisualBasic.VBCodeProvider();
// CodeDomProvider provider = new Microsoft.JScript.JScriptCodeProvider();
// ソースを出力
using ( StreamWriter w = new StreamWriter("Hello.cs", false, Encoding.GetEncoding("Shift_JIS")) ) {
ICodeGenerator gen = provider.CreateGenerator();
gen.GenerateCodeFromCompileUnit(unit, w, null);
}
// コンパイル
CompilerParameters param = new CompilerParameters();
param.GenerateExecutable = true;
param.OutputAssembly = "Hello.exe";
ICodeCompiler compiler = provider.CreateCompiler();
compiler.CompileAssemblyFromDom(param, unit);
// 実行
AppDomain.CurrentDomain.ExecuteAssembly("Hello.exe");
}
0238デフォルトの名無しさん
NGNG// Hello WorldプログラムのCodeDomを生成する。
public static CodeCompileUnit GenerateCompileUnit() {
CodeCompileUnit unit = new CodeCompileUnit();
CodeNamespace ns = new CodeNamespace();
unit.Namespaces.Add(ns);
CodeTypeDeclaration hello = new CodeTypeDeclaration("Hello");
hello.TypeAttributes = TypeAttributes.NotPublic;
ns.Types.Add(hello);
CodeEntryPointMethod main = new CodeEntryPointMethod();
hello.Members.Add(main);
CodeMethodInvokeExpression write_line = new CodeMethodInvokeExpression();
write_line.Method = new CodeMethodReferenceExpression( new CodeTypeReferenceExpression(typeof(Console)), "WriteLine" );
write_line.Parameters.Add( new CodePrimitiveExpression("Hello World!!") );
main.Statements.Add(write_line);
return unit;
}
}
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNGDelphi以上に文字打つのが面倒そう。
コンパイルに何秒ぐらいかかりましたか?
0241デフォルトの名無しさん
NGNG1秒もかからないよ
0242デフォルトの名無しさん
NGNG>Delphi以上に文字打つのが面倒そう。
確かに。Javaと同程度かな。
0243Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧ /なにげに、>>195さんのコードの動作確認。
ミ;゚Д゚彡 < ………神っ!!!
ミつ つ゛ \
@ミ ミ なにゆえこんな芸当が...!!
∪''∪ このスレで神の領域を見るとは...アリガタヤアリガタヤ
このコード...どんなDelphiソースでもコンパイル化なの?
0244デフォルトの名無しさん
NGNGusing System;
using System.IO;
using System.Text;
using Microsoft.CSharp;
class Test
{
public static void Main() {
// ソース定義
StringWriter s = new StringWriter();
s.WriteLine("using System;");
s.WriteLine("");
s.WriteLine("class Hello {");
s.WriteLine(" public static void Main() {");
s.WriteLine(" Console.WriteLine(\"Hello World\");");
s.WriteLine(" }");
s.WriteLine("}");
s.Close();
// ソース生成
using ( StreamWriter w = new StreamWriter("Hello.cs", false, Encoding.Default) ) {
w.Write( s.ToString() );
}
// コンパイル
Compiler.Compile(
new string[] { s.ToString() },
new string[] { "Hello.cs" },
"Hello.exe",
null,
null
);
// 実行
AppDomain.CurrentDomain.ExecuteAssembly("Hello.exe");
}
}
0245Delフサギコ ◆zE1iiRdQ
NGNGミ 彡 < どっちの厨も
(ミ ミ) \_______
ミ ミ
∪ ∪
∧,,∧ サッ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,,゚Д゚ミ < だまっちゃいました。
⊂ Om \_______
ミ、,, ミ,
.しヾJ
∧,,∧ ま゙
ミ゚Д゚,,彡 仲良くやんなさい。
⊂ ミ)
ミ ミ
∪''∪ 言語の進化が促されて
面白くなってきたよね。
.NETフレームワークにもDelphi.NETにも期待してよし。
で。次のお題はぁ??
0246195
NGNG>>188でフサギコさんが言ったのと同じことやってるんですけど… マアワルイキハシマセンガ
0247デフォルトの名無しさん
NGNG0248Delフサギコ ◆zE1iiRdQ
NGNG,,,,,,,,,,,,,∧,,∧ /ほんとにやっちまうとは主輪なんだ。
〜′,,,,,,,ミ,,゚Д゚彡< んで、あんなに簡単にやるとも主輪なんだ。
UU""" U U \_>>195さんカコイイ・・
C#ソースも、コンパイラをオブジェクトで扱えるのも
かなり素敵ネ。CodeDomよりソース綺麗じゃ。
そしたら..
b.exeと元プロジェクトのexeとの通信が出来たら...
WM_COPYDATAとか、DDEあたりで、、。。
否、、リダイレクソンとかで可能なのかな?
.
とりあえず、それが出来たら
アプリケーションユーザーに
Delphiソースでマクロ書いてもらったら
ExeやDLLにして元アプリの動作を変更できたりするのかな?
…って。アプリユーザーにもDelphiコンパイラが
必要なのか...まあ。仕方ない無料だしダウソしてもらうのがスジか。
0249195
NGNG237-238すごいなー。
とりあえず244がコンパイルできないんですけど("Compiler"が見つからない)どうすればいいのかな…
Pascal系言語.NETは既に2種類ぐらい出てますよ。Delphi.NETが出たらもうひとつ増えることになりますね。
OberonよりObjectPascalが好きなのでDelphi.NET期待です。
マクロ目的ならそんな面倒なことしなくてもBPL作ってもらえばDelphi IDEみたいにできるのでは…
229にDelphi使いが返事くれないということは、ここにEnterprise使ってる人はいないってことですか…
自分もそうだから何も言いませんけど。
…それにしても静かだ。皆さん寝てしまったのかな。けっこう良スレになっちゃいましたね、ここ。
0250Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧ / Indyのメーラーサンプルは
ミ,,゚Д゚彡< こんなソースでした。
ミつ[お手紙]) いまさらながら。
〜ミ ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
U U これを使えばデラ簡単にメール送信可でした
D6ProIndyメーラーサンプルのコピペ
procedure TfrmMessageEditor.bbtnOkClick(Sender: TObject);
begin
with IdMsgSend do
begin
Body.Assign(Memo1.Lines);
From.Text := UserEmail;
Recipients.EMailAddresses := edtTo.Text; { To: header }
Subject := edtSubject.Text; { Subject: header }
Priority := TIdMessagePriority(cboPriority.ItemIndex); { Message Priority }
CCList.EMailAddresses := edtCC.Text; {CC}
BccList.EMailAddresses := edtBCC.Text; {BBC}
if chkReturnReciept.Checked then
begin {We set the recipient to the From E-Mail address }
ReceiptRecipient.Text := From.Text;
end
else
begin {indicate that there is no receipt recipiant}
ReceiptRecipient.Text := '';
end;
end;
{authentication settings}
case SmtpAuthType of
0: SMTP.AuthenticationType := atNone;
1: SMTP.AuthenticationType := atLogin; {Simple Login}
end;
SMTP.UserID := SmtpServerUser;
SMTP.Password := SmtpServerPassword;
{General setup}
SMTP.Host := SmtpServerName;
SMTP.Port := SmtpServerPort;
{now we send the message}
SMTP.Connect;
try
SMTP.Send(IdMsgSend);
finally
SMTP.Disconnect;
end;
end;
_________
∧,,∧ /
ミ,,゚Д゚彡< BPLってDLLでしたっけ。
ミつ つ \
〜ミ ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
U U 世の中ややこしい事でイパーイね。
0251デフォルトの名無しさん
NGNGcscompmgd.dllを参照すべし。
0252デフォルトの名無しさん
NGNGusing System.Diagnostics;
using System.IO;
using System.Text;
using System.Web.UI;
class Test
{
public static void Main() {
// CSVの読み込み
string csv_text = null;
using ( TextReader r = File.OpenText("data.csv") ) {
csv_text = r.ReadToEnd();
}
// HTMLの書き込み
using ( TextWriter w = new StreamWriter("table.html", false, Encoding.Default) ) {
HtmlTextWriter w2 = new HtmlTextWriter(w, " ");
w2.WriteFullBeginTag("html");
w2.WriteLine();
w2.Indent++;
w2.WriteFullBeginTag("body");
w2.WriteLine();
w2.Indent++;
w2.WriteBeginTag("table");
w2.WriteAttribute("border", "1");
w2.Write(HtmlTextWriter.TagRightChar);
w2.WriteLine();
■ このスレッドは過去ログ倉庫に格納されています