很着急的问题..

flyindirty2008 2005-10-29 10:44:04
我想做一个文本转换的程序(将文本A.TXT转换成文本文件B.txt)
0W1W1W2W2 1F1F2D1D2 2TdTdTgTg 3W1W1W2W2 4F1F2D1D2 5 TdTd TgTg 6W1W1W2W2 7F1F2D1D2 8TdTdTgTg(文本文件A.TXT)
0代表24小时天气现象组;1代表24小时风向风力组;2代表24小时气温组;
3代表48小时天气现象组;4代表48小时风向风力组;5代表48小时气温组;
6代表72小时天气现象组;7代表72小时风向风力组;8代表72小时气温组;
W1W1代表前12小时天气现象
W2W2代表后12小时天气现象
F1代表前12小时风向
F2代表后12小时风向
D1代表前12小时风力
D2代表后12小时风力
TgTg代表最高气温
TdTd代表最低气温
WW组代码意义:00晴 01多云 02阴 03阵雨04雷阵雨 05雷阵雨并伴有冰雹 06雨夹雪 07小雨 08中雨 09大雨 10 暴雨 11 大暴雨 12特大暴雨 13阵雪 14小雪 15中雪 16大雪 17暴雪 18雾 19冻雨 20沙尘暴 21小到中雨 22中到大雨 23大到暴雨 24暴雨到大暴雨 25大暴雨到特大暴雨 26小到中雪 27中到大雪 28大到暴雪 29浮尘 30扬沙 31强沙尘暴
F组代码意义:0无1东北2东3东南4南5西南6西7西北8北9旋转不定
D组代码意义:0≤3级 1代表3-4级 2代表4-5级 3代表5-6级 4代表6-7级 5代表7-8级 6代表8-9级 7代表9-10级 8代表10-11级 9代表11-12级
TT组代码意义:0~50代表0到50℃;51~99代表-1到-49℃
示例:
00001 13344 20111 30000 40000 50313 60000 70000 80415(文本文件B.txt)
表示未来24小时晴转多云,东南风6-7级,气温1-11度
未来48小时晴,风力小于3级,气温3-13度
未来72小时晴,风力小于3级,气温4-15度

不知道怎么开始做,请高手指点一下!
...全文
256 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyindirty2008 2005-11-27
  • 打赏
  • 举报
回复
感谢以上老大的指点,我现在定义了三个变量
content24
content48
content72
我想让:content24 代表未来24小时晴转多云,东南风6-7级,气温1~11度
content48 代表未来48小时晴,风力小于3级,气温3~13度
content72代表未来72小时晴,风力小于3级,气温4~15度
想请问一下怎么能把这样的字符串
00001 10304 20111 30000 40000 50313 60000 70000 80415
Split成3部份?
zou19820704 2005-11-04
  • 打赏
  • 举报
回复
楼主要有耐性才对呀,其实不难,漫漫分析
flyindirty2008 2005-11-04
  • 打赏
  • 举报
回复
是不同地区的
flyindirty2008 2005-11-04
  • 打赏
  • 举报
回复
请赐教在这段程序中逐行读之并转换的代码
northwolves 2005-11-03
  • 打赏
  • 举报
回复
我想把一个文本文件(内容是这样的)
00001 13344 20111 30000 40000 50313 60000 70000 80415
00001 12244 21111 31200 40000 50313 60011 70000 80415
.........
.....
转换成另一个文本文件(内容是这样的)
未来24小时晴转多云,东南风6-7级,气温1~11度
未来48小时晴,风力小于3级,气温3~13度
未来72小时晴,风力小于3级,气温4~15度
........
我应该在上面代码的基础上怎么做?
------------------
不同地区的?干吗那么多行?逐行读之并转换就可以了
flyindirty2008 2005-11-03
  • 打赏
  • 举报
回复
我自己也做了,但是达不到效果,我是个初学着还请多指教!
flyindirty2008 2005-11-03
  • 打赏
  • 举报
回复
多谢口香糖大侠和狼行天下:

我想把一个文本文件(内容是这样的)
00001 13344 20111 30000 40000 50313 60000 70000 80415
00001 12244 21111 31200 40000 50313 60011 70000 80415
.........
.....
转换成另一个文本文件(内容是这样的)
未来24小时晴转多云,东南风6-7级,气温1~11度
未来48小时晴,风力小于3级,气温3~13度
未来72小时晴,风力小于3级,气温4~15度
........
我应该在上面代码的基础上怎么做?




northwolves 2005-10-30
  • 打赏
  • 举报
回复
口香糖,辛苦了
脆皮大雪糕 2005-10-30
  • 打赏
  • 举报
回复
Option Explicit
Dim ww() As String
Dim F() As String
Dim D() As String


Private Sub init() '数据初始化
ww = Split("晴 多云 阴 阵雨 雷阵雨 雷阵雨并伴有冰雹 雨夹雪 小雨 中雨 大雨 暴雨 大暴雨 特大暴雨 阵雪 小雪 中雪 大雪 暴雪 雾 冻雨 沙尘暴 小到中雨 中到大雨 大到暴雨 暴雨到大暴雨 大暴雨到特大暴雨 小到中雪 中到大雪 大到暴雪 浮尘 扬沙 强沙尘暴", " ")
F = Split(" ,东北,东,东南,南,西南,西,西北,北,旋转不定", ",")
D = Split("力小于3级 3-4级 4-5级 5-6级 6-7级 7-8级 8-9级 9-10级 10-11级 11-12级", " ")
End Sub
Private Function StrConv(strInput As String) As String
'字符串转换
Dim aryTmp() As String
Dim i As Integer
Dim strOutput As String
strOutput = ""
aryTmp = Split(strInput, " ")
For i = 0 To UBound(aryTmp)
Select Case Left(aryTmp(i), 1)
Case 0, 3, 6
strOutput = strOutput & "未来" & (Left(aryTmp(i), 1) / 3 + 1) * 24 & "小时"
strOutput = strOutput & ww(Val(Mid(aryTmp(i), 2, 2)))
If Mid(aryTmp(i), 4, 2) <> Mid(aryTmp(i), 2, 2) Then
strOutput = strOutput & "转" & ww(Val(Mid(aryTmp(i), 4, 2)))
End If
strOutput = strOutput & ","
Case 1, 4, 7
strOutput = strOutput & Trim(F(Val(Mid(aryTmp(i), 2, 2))))
strOutput = strOutput & "风"
strOutput = strOutput & D(Val(Mid(aryTmp(i), 4, 2)))
strOutput = strOutput & ","
Case 2, 5, 8
Dim intTmp As Integer
strOutput = strOutput & "气温"
intTmp = Val(Mid(aryTmp(i), 2, 2))
If intTmp >= 51 And intTmp <= 99 Then intTmp = -(intTmp - 50)
strOutput = strOutput & intTmp & "~"
intTmp = Val(Mid(aryTmp(i), 4, 2))
If intTmp >= 51 And intTmp <= 99 Then intTmp = -(intTmp - 50)
strOutput = strOutput & intTmp & "度"
strOutput = strOutput & vbCrLf
End Select
Next
StrConv = strOutput
End Function





测试用例:
Private Sub Command1_Click()
init
Debug.Print StrConv("00001 10304 20111 30000 40000 50313 60000 70000 80415")
End Sub

输出:

未来24小时晴转多云,东南风6-7级,气温1~11度
未来48小时晴,风力小于3级,气温3~13度
未来72小时晴,风力小于3级,气温4~15度
脆皮大雪糕 2005-10-30
  • 打赏
  • 举报
回复
呵呵,帮人帮到底送佛送到西

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧