HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
1030
@key配列をファイルに保存6解決


@key

リンク

2012/10/30(Tue) 19:13:09|NO.50352

dimや、sdimの1次元配列(要素数は同じ)を複数をまとめて
1つのファイルに保存したり読み込んだりする方法を教えて下さい


dim objid,200
dim objx,200
dim objy,200
dim objw,200
dim objh,200
sdim objname,50,200
sdim objins,100,200

上の変数を1つのファイルにまとめてすべて保存したり読み込みしたりするいい方法が思い浮かびません・・・
特にsdimの配列はmemcpyが使えない気がするので自分には無理です 教えてください



この記事に返信する


レノス

リンク

2012/10/30(Tue) 20:24:50|NO.50360

hspda.dll の vsave / vload でできます。

> 特にsdimの配列はmemcpyが使えない気がするので自分には無理です
memcpy にこだわらずとも、普通に repeat でできるのでは



KA

リンク

2012/10/30(Tue) 20:31:39|NO.50361

dimはメモリが連続しているから出来るはずです。

sdimは要素1個で大きなサイズを取ってから、コピーしてバイナリで保存します。
(dimの分も一緒に入れた方が良いかもしれません)

sdimの要素1個は使い方次第で何でも保存できます。



暇人

リンク

2012/10/30(Tue) 20:37:56|NO.50362

プラグイン / モジュール hspda

すべての変数を保存
vsave "filename"

選んだ変数を一つのファイルに保存
変数保存の開始
vsave_start

保存する変数の指定
vsave_put p1

変数保存の終了
vsave_end "filename"


>特にsdimの配列はmemcpyが使えない気がするので自分には無理です 教えてください
配列要素毎にmemcpyしていけば出来る
改行含まないなら単に改行間に入れて+で連結すれば良い(連結したのをint型とかで保存するバッファにmemcpy)
文字列以外で使ってるならサイズを固定するとかサイズを記憶する領域を作る等工夫が必要



@key

リンク

2012/10/30(Tue) 20:48:02|NO.50363

ありがとうございます!
vsaveという便利な命令があったんですね・・・
今までのソフトの保存で苦労していた自分が馬鹿らしいです



check

リンク

2012/10/31(Wed) 01:28:15|NO.50373

解決したみたいなんで解決マークを勝手につけておく。
苦情は受け付ける。

もし配布するときはhspda.dllが必要になることを忘れずに。
HSPのエディタがあるディレクトリに入っている。
コピーしてアプリと同じディレクトリにぶち込んでおけばいい。



@key

リンク

2012/10/31(Wed) 02:19:12|NO.50376

ああ、解決マークつけ忘れていました
HSPが入っていない環境ではhspda.dllを入れないといけないんですね
アドバイスありがとうございます



ONION software Copyright 1997-2023(c) All rights reserved.