Delphi初心者のための寺子屋at TECH
Delphi初心者のための寺子屋 - 暇つぶし2ch857:デフォルトの名無しさん
10/09/18 16:51:47
文字列データを他のソフトに送信するのですが、
strA:= '文字列 n1 ,文字列 n2 ,文字列 n3 , ~文字列 n';

送信先ではこの区切りカンマ含む文字列と一緒に Hex2桁の(00~FF) CK_A+CK_B
URLリンク(www.synopsys.co.jp)
チェックサム (Check Sum)誤り検出符号を付けなくてはならず、無かったり違うとチャックサムエラーで受け付けてくれません。

種類と計算式は
TCP スタンダードRFC1145 のチェックサムアルゴリズム

CHECKSUM CK_A CK_B

CK_A=0;
CK_B=0;
for(i = 0;i < N;i ++)
{
CK_A += buffer[i];
CK_B += CK_A;
}

という式だそうですが、Delphi 式に置き換えが判りません
どう書くのでしょう?


858:デフォルトの名無しさん
10/09/18 17:12:26
TCPレベルで実装されてるものをなんでその上のレイヤでも再実装しないといけないの?

859:デフォルトの名無しさん
10/09/18 17:16:51
たまたまTCPのチェックサムと計算方法が同じってだけで
アプリケーション層でも独自プロトコルでチェックサム付けないといけないってだけの話だろ

860:デフォルトの名無しさん
10/09/18 20:39:53
違います

861:857
10/09/18 21:07:00
>>858 ネット通信でTCPに乗せて送る訳ではありません。 >>859氏の指摘通りです。

データを渡さなければいけないホストプログラムが誤データ排除に
>>857 の式でのチェックサムを使っているそうで、生データだけでは拒否されます。

862:デフォルトの名無しさん
10/09/18 21:27:06
じゃあまずCかなんかでコンパイル通るもの用意してもらえます?

863:デフォルトの名無しさん
10/09/19 15:25:40
CK_A := CK_A + buffer[i];
CK_B := CK_B + CK_A;

できますタ

864:デフォルトの名無しさん
10/09/19 16:39:41
できてません
勝手に騙らないでもらえますか?

865:デフォルトの名無しさん
10/09/19 16:50:54
ばかにしないでください
できますた

866:デフォルトの名無しさん
10/09/19 17:12:37
もういいです
こんなところで聞いた私が間違いでした

867:デフォルトの名無しさん
10/09/19 17:18:36
よくありません

868:857
10/09/20 05:16:44
>>862
これかな
void sum(FILE *out,char *buf)
{
unsigned char sum = 0;
char *p;
p = buf;
for (;;) {
putc(*p++,out);
if( *p == '*') break;
sum ^= *p;
}
fprintf(out,"*%02X\n",sum);
}

まったく違う気もしますがすみません、作った方と大半の資料とその製作環境は火事で....仕様書と残った一部ノートから発掘
「君プログラム組めるんだってね?」と事務方に押し付けられても ねぇ
せめて同じ系列の製作環境整えてそれで組める人を探してほしい。


869:デフォルトの名無しさん
10/09/20 05:24:06
ネタじゃないことを証明してほしい

870:デフォルトの名無しさん
10/09/20 06:40:54
上の方にあるのと違って*p == '*'でちょん切ってるし・・
まったく違う気もしますが、って・・・

871:デフォルトの名無しさん
10/09/21 04:56:32
DelphiじゃなくてCな時点でネタだと思う

872:デフォルトの名無しさん
10/09/29 22:04:59
const A = 1.00;
ShowMessage( IntToStr( SizeOf( A ) ) );
ShowMessage( IntToStr( SizeOf( 1.00 ) ) );

こんな実験をしてみたんですが、
SizeOf( A )のほうは8、SizeOf( 1.00 )のほうは10と表示されます。
これはなぜなんでしょうか?同じ1.00という値を渡しているので、同じ値が表示されることを期待していたのですが…。

CPUエディタでみても、直接$00000008と$0000000aの値がそれぞれセットされているだけで詳細がわかりません。


873:デフォルトの名無しさん
10/09/29 22:14:29
天使の分け前って奴かな

874:デフォルトの名無しさん
10/09/29 23:30:52
DoubleとExtendedの違いだとは思うが、それ以上の説明は俺には無理。

875:デフォルトの名無しさん
10/10/01 12:46:55
データ型が明示的じゃないじゃん 何のサイズを取得せぇっつんだ

876:デフォルトの名無しさん
10/10/01 20:10:07
定数は全て暗黙的に型付けされていますけど

877:デフォルトの名無しさん
10/10/01 22:58:18
age


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch