ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月27日(土) 22:55

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 37 件の記事 ]  ページ移動 1つ前へ 1 2 3 次へ
作成者 メッセージ
 記事の件名: Re: 返信@yu0627
投稿記事Posted: 2005年7月10日(日) 15:53 
> ただ、タブがうまく送信されません。どうすればいいでしょうか。
タブの部分は、どの様な状態になっていますか?
Outlook Express などで HTML形式で表示などされてますか?
私の環境では、サンプルコードでタブを送信しても表示されます。
取りあえず、問題の切り分けをしてみてください。
1.受信したデータに問題ないか。
2.メーラの設定など。


通報する
ページトップ
   
 記事の件名: Re: 返信@yu0627
投稿記事Posted: 2005年7月11日(月) 14:42 
オフライン

登録日時: 2005年5月31日(火) 14:53
記事: 154
> > ただ、タブがうまく送信されません。どうすればいいでしょうか。
> タブの部分は、どの様な状態になっていますか?
> Outlook Express などで HTML形式で表示などされてますか?
> 私の環境では、サンプルコードでタブを送信しても表示されます。
> 取りあえず、問題の切り分けをしてみてください。
> 1.受信したデータに問題ないか。
メッセージのソースを見てみると以下のようになっております。(個人情報は全て*で伏せてあります)

Return-Path: <*>
Received: from smtp.*.*.ne.jp (*.*.ne.jp [*.*.*.*])
by * (*.*.*/*.*.*) with ESMTP id *
for <*>; Mon, 11 Jul 2005 08:58:28 +0900
Received: from *.*.ne.jp (*.*.*.ne.jp [*.*.*.*])
by smtp.*.*.ne.jp (Postfix) with SMTP id *
for <*>; Mon, 11 Jul 2005 08:58:28 +0900 (JST)
From: yu0627 <*>
To: yurailadmin <*>
X-Mailer: Test_Mailer
Subject: test_tab
Message-Id: <*>
Date: Mon, 11 Jul 2005 08:58:28 +0900 (JST)
Status:

ウイルスセキュリティ設定情報

○不正侵入を防ぐ
○ネットワーク
○ネットワーク通信設定:ユーザー設定
チェックボックスを全てON
○FTP
双方向
TCP
発信元ポート:範囲-20-21
リモートポート:範囲-20-21
○GoldWing(受信)
受信
UDP
発信元ポート:指定-2302
○GoldWing(送信)
送信
UDP
リモートポート:指定-

実際はタブが入っているはずなのですが、掲示板に書き込むとこのようになります。多分これが問題かもしれませんが。
ソースをコピーしてテキストエディタに貼り付けるとタブはちゃんとあります。

> 2.メーラの設定など。
ほとんど初期の設定に近く、OutlookExpress6.0です。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年7月11日(月) 15:34 
> ソースをコピーしてテキストエディタに貼り付けるとタブはちゃんとあります。
> ほとんど初期の設定に近く、OutlookExpress6.0です。
との事から、私の方でも Outlook Expressを復旧してチェックしてみました。

恐らく以下の設定変更で解決すると思います。

[ツール(T)] -> [オプション(O)] -> "読み取り" タブの、
□ メッセージはすべてテキスト形式で読み取る(R)
にチェックを入れてみてください。

WinXP(SP2) + Outlook Express 6.0


通報する
ページトップ
   
 記事の件名: 返信@yu0627
投稿記事Posted: 2005年7月11日(月) 15:51 
オフライン

登録日時: 2005年5月31日(火) 14:53
記事: 154
> > ソースをコピーしてテキストエディタに貼り付けるとタブはちゃんとあります。
> > ほとんど初期の設定に近く、OutlookExpress6.0です。
> との事から、私の方でも Outlook Expressを復旧してチェックしてみました。
>
> 恐らく以下の設定変更で解決すると思います。
>
> [ツール(T)] -> [オプション(O)] -> "読み取り" タブの、
> □ メッセージはすべてテキスト形式で読み取る(R)
> にチェックを入れてみてください。
>
> WinXP(SP2) + Outlook Express 6.0

してみたところできました。しかし、逆にHTMLメールが正しく見れません。
どうすればいいでしょうか。


通報する
ページトップ
 記事の件名: Re: 返信@yu0627
投稿記事Posted: 2005年7月11日(月) 17:29 
オフライン

登録日時: 2005年5月31日(火) 13:31
記事: 205
お住まい: 大阪市
> > [ツール(T)] -> [オプション(O)] -> "読み取り" タブの、
> > □ メッセージはすべてテキスト形式で読み取る(R)
> > にチェックを入れてみてください。

> してみたところできました。しかし、逆にHTMLメールが正しく見れません。
> どうすればいいでしょうか。

「逆に」ってことはチェックを入れたのをはずせばHTMLメールが正しく表示されると思うのですが、違うんですかね?


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年7月11日(月) 19:04 
返信後に、Outlook Express は削除してしまったので、
確認できませんが、設定で自動切り替えできなければ、
タブの表示は、諦めるしかないかもしれません。
Outlook Expressのヘルプなどを参照してみてください。


通報する
ページトップ
   
 記事の件名: Re: 返信@yu0627
投稿記事Posted: 2005年7月11日(月) 19:05 
オフライン

登録日時: 2005年5月31日(火) 14:53
記事: 154
> 「逆に」ってことはチェックを入れたのをはずせばHTMLメールが正しく表示されると思うのですが、違うんですかね?
はい、そのとおりです。HTML形式で受信するメールもあるためです。
一度一度変えるのは手間がかかります。
TextEditorのプログラムを変えるとできるのでしょうか...。


通報する
ページトップ
 記事の件名: Re: 返信@yu0627
投稿記事Posted: 2005年7月11日(月) 19:09 
> TextEditorのプログラムを変えるとできるのでしょうか...。
文章形式を送信すれば、出来るかもしれません。


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年7月11日(月) 19:37 
コード変更前に、以下の事を試してみてください。

1.Outlook Express でタブ入り文章を、テキスト形式で送信する。
2.□ メッセージはすべてテキスト形式で読み取る(R) のチェックを外す。
3.送ったメールを受信してみる。

サンプルでは、テキスト形式が送信されてない為、
Outlook Express は、HTMLをデフォルトとして使用するのかもしれません。


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年7月11日(月) 19:48 
オフライン

登録日時: 2005年5月31日(火) 14:53
記事: 154
> コード変更前に、以下の事を試してみてください。
>
> 1.Outlook Express でタブ入り文章を、テキスト形式で送信する。
> 2.□ メッセージはすべてテキスト形式で読み取る(R) のチェックを外す。
> 3.送ったメールを受信してみる。
>
> サンプルでは、テキスト形式が送信されてない為、
> Outlook Express は、HTMLをデフォルトとして使用するのかもしれません。
早速やってみました。
そうすると、メーラーへの貼り付けの時点でタブの間隔が狭くなり、それを受信するとそのままでした。
なお、そのソースを見ると以下のようになっていました。

MIME-Version: 1.0
Content-Type: text/plain;
format=flowed;
charset="iso-2022-jp";
reply-type=original
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2527
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527

以上です。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年7月11日(月) 23:22 
再度 OEを復旧して調べてみましたが、仕様のようです。
設定も見ましたが、それらしい物も見つかりませんでした。
"メッセージはすべてテキスト形式で読み取る(R)" を有効にすると、
本文表示欄は、RichEdit20W になり、無効にすると、
Internet Explorer_Server に切り替わります。
なお、OEでタブを入力した場合は、半角空白に変換されていました。


通報する
ページトップ
   
 記事の件名: 返信@yu0627
投稿記事Posted: 2005年7月15日(金) 20:31 
オフライン

登録日時: 2005年5月31日(火) 14:53
記事: 154
返信遅れてすみません。
考えてみたのですが、半角や全角スペースなどは再現されています。
なので、タブはスペース4つ分なのでタブをスペースに変換できたら
いいと思うのですが。
自分の技量ではまだできないのでよければ教えていただきたいです。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年7月16日(土) 11:28 
以下のサンプルで試してください。
EditBox1 内の文章にタブがあれば空白に変換して更新します。
# メール送信問題は、解決しているので、新たな問題は、
別に質問を起こしたほうが良いかもしれません。
コード:
Sub MainWnd_CommandButton1_Click()
	Const NUM_TABROWS = 4
	Dim i As Long
	Dim n As Long
	Dim nLen As Long
	Dim pszDest As *Byte
	Dim pszSrc As *Byte

	nLen = GetWindowTextLength( GetDlgItem(hMainWnd, EditBox1) )
	If nLen = 0 Then Exit Sub
	pszSrc = calloc(nLen + 1)
	If pszSrc = NULL Then Exit Sub
	If GetWindowText(GetDlgItem(hMainWnd, EditBox1), pszSrc, nLen + 1) = 0 Then Goto *ExitTag

	'文章中のタブ数を数える。
	While i < nLen
		If IsDBCSLeadByte( pszSrc ) Then
			i = i + 1
		ElseIf pszSrc = 9 Then
			n = n + 1
		End If
		i = i + 1
	Wend	
	
	If n = 0 Then Exit Sub
	pszDest = calloc(nLen + (n * NUM_TABROWS) + 1)
	If pszDest = NULL Then Goto *ExitTag

	Dim k As Long

	'全ての文章データを、1バイトずつ検証してタブなら半角空白に置き換える。
	i = 0
	While i < nLen
		'全角文字(2バイト)の先頭なら、2バイト分をコピー。
		If IsDBCSLeadByte( pszSrc ) Then
			memcpy(pszDest + k, pszSrc + i, 2)
			k = k + 2
			i = i + 1
		'タブなら、タブの列数分の半角空白をコピー。
		ElseIf pszSrc = 9 Then
			lstrcpy( pszDest + k, String$(NUM_TABROWS, " ") )
			k = k + NUM_TABROWS
		'半角文字なら、1バイト分をコピー。
		Else
			pszDest[k] = pszSrc
			k = k + 1
		End If
		i = i + 1
	Wend

	SetWindowText(GetDlgItem(hMainWnd, EditBox1), pszDest)
	MsgBox 0, Str$(n) + " 個のタブを置き換えました"

*ExitTag
	If pszSrc Then free(pszSrc)
	If pszDest Then free(pszDest)	
End Sub


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年7月16日(土) 11:32 
If n = 0 Then Exit Sub
を、
If n = 0 Then Goto *ExitTag
に変更してください。


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年7月16日(土) 12:44 
コードとは、関係ないですが、タブは、columnでした。
失礼しました。VBAでもたまに間違えます。(笑)


通報する
ページトップ
   
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 37 件の記事 ]  ページ移動 1つ前へ 1 2 3 次へ

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: Bing [Bot], Semrush [Bot] & ゲスト[17人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean