精华内容
下载资源
问答
  • 大家好,以下是一段代码,可是没有实现,我的理解是,一开始运行程序后就会运行onpaint函数,我用messagebox测试是运行的,但是为什么并没有画出来,而我拖动窗口的时候却有出现文字,请大侠们帮忙解释下原理啊。...
  • 如何把数字写入表格

    2014-06-14 18:05:47
    现有数字1-33,请问如果把这些数字按照([color=#FF0000]1-11[/color] [color=#0000FF]12-22[/color] [color=#FF00FF]23-33[/color])写入3个表格?
  • 如果你的应用程序时Oracle数据库,那么将字符串写入到大字段(Blob)列中是一种常见的操作,现作简单介绍: 先建立一个简单的表: createtableEMRSIGNINFO(IDVARCHAR2(10),ORIGNDATABLOB) ORIGNDATA列为BLOB...

    如果你的应用程序时Oracle数据库,那么将字符串写入到大字段(Blob)列中是一种常见的操作,现作简单介绍:

    先建立一个简单的表:

    create table EMRSIGNINFO
    (
      ID        VARCHAR2(10),
      ORIGNDATA BLOB
    )

     ORIGNDATA 列为BLOB大字段数据类型.

    然后直接上两个方法:

    View Code
      //插入大字段数据 
            public void InsertStringToClob()
            {
                System.Data.OracleClient.OracleConnection con = new System.Data.OracleClient.OracleConnection();
                con.ConnectionString = "Data Source=Orcl; User Id=gctest; Password=his;";//数据库连接串 
                con.Open();
                using (OracleCommand cmd = new OracleCommand())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.Connection = con;
                    cmd.CommandText = @"
                            insert into EMRSIGNINFO(ID,ORIGNDATA)  values(
                            '1',
                            :temp
                            )
                            
    ";
                    OracleParameter param = cmd.Parameters.Add(":temp", OracleType.Blob);
                    param.Direction = ParameterDirection.Input;
                    string strOriginText = @"CzFe3B9mgc1kv3bYldRbMqp9AkCW84EPjBOZZYI+Y0yYgFaDRk4kjmvAuDyF3OAPbCyXoSdzLImG2Y956y/KJV8d3cS0sfjeBLFiFbUXdXfzzgZ23c
                                    r44QlMreS9+lIOV0jyd+yX3Spse34rNJwa/aD8i6LTXRCFxfb6Tx1GRj4=CzFe3B9mgc1kv3bYldRbMqp9AkCW84EPjBOZZYI+Y0yYgFaDRk4kjmvAuDyF3OAPbCyXoSdzLImG2Y956y
                                    /KJV8d3cS0sfjeBLFiFbUXdXfzzgZ23cr44QlMreS9+lIOV0jyd+yX3Spse34rNJwa/aD8iCzFe3B9mgc1kv3bYldRbMqp9AkCW84EPjBOZZYI+Y0yYgFaDRk4kjmvAuDyF3OA
                                    PbCyXoSdzLImG2Y956y/KJV8d3cS0sfjeBLFiFbUXdXfzzgZ23cr44QlMreS9+lIOV0jyd+yX3Spse34rNJwa/aD8i6LTXRCFxfb6Tx1GRj4=6LTXRCFxfb6Tx1GRj4=
    ";
                    param.Value = CompressString(strOriginText);
                    try
                    {
                        cmd.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }

                }
                con.Close();
            }

            //读取大字段中存储的字符串 
            public string ReadClobToString()
            {
                string strSql = "select * from  EMRSIGNINFO where id='1'";
                string result=string.Empty;
                System.Data.OracleClient.OracleConnection con = new System.Data.OracleClient.OracleConnection();
                con.ConnectionString = "Data Source=Orcl; User Id=gctest; Password=his;";
                con.Open();
                using (OracleCommand cmd = new OracleCommand())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.Connection = con;
                    cmd.CommandText = strSql;
                    try
                    {
                        OracleDataReader reader = cmd.ExecuteReader();
                        while (reader.Read())
                        {
                             result = DecompressString((byte[])reader[1]);
                        }
                    }
                    catch (Exception ex)
                    {
                    }
                }
                con.Close();
                return result;
            } 

     

    针对以上的几点说明:

    1、大字段数据列在sql语句中使用冒号(:)加一个任意名称进行占位,如以上第一个方法中的sql语句中的:temp 。然后为Command添加参数,参数名称也为:temp,参数类型为OracleType.Blob

    2、参数的值(Value)应该是 一个 Byte[]类型。在第一个方法中,对参数赋值时采用了一个方法CompressString将字符串转换为Byte[]类型数据。

    如果上面直接将字符串对参数赋值 param.Value = strOriginText;将产生如下错误:

     

    3、第二个方法中读取大字段的时候:使用Read(),当读取到大字段的数据时,先将数据转换为byte[]类型,然后使用一个方法将字节数组解压缩为字符串。

    4、微软已经不推荐使用OracleConnection OracleCommand 等,而是推荐使用Oracle开发的ODP.NET,这会比微软为Oracle开发的适配器强大。此处为演示,使用大家熟知的了。

    5、以上程序没有添加任何其他考虑,比如:如果大字段中的数据可为空,那么在读取的时候此处(byte[])reader[1]会报错,因为reader[1]是一个System.DBNull类型,是不能转换为byte[]类型的。这些都是没有考虑到的哦。另外也没有考虑如果是多个大字段的话如何处理,如果是一个sql语句中要写入多个大字段列,可以使用params语法,具体不介绍。

    6、每个公司自己的产品中都有一套框架来处理这种底层的数据库才做,会对这些操作进行封装,使之在易用性、安全性、复用性等等方面进行增强。可以肯定的是,不会有任何一个公司的代码会写成以上这样。您在公司要操作大字段可能只是简单的调用一个非常简单的方法即可,但是如果有时间还是建议对里面的原理做些了解。如此才能吸取经验、懂得原理,才不会为各种新技术、新工具所迷惑。

    7、以上两个方法中使用的DecompressStringDecompressString方法为网上找的轮子。也贴出来吧。要说明的是,需要引用ICSharpCode.SharpZipLib.dll。它的使用说明此处就不介绍了,有兴趣的朋友找谷歌。

     

    View Code
            /// <summary>
            
    /// 用压缩算法压缩一个字符串
            
    /// </summary>
            
    /// <param name="input">输入的字符串.</param>
            
    /// <returns>返回字节</returns>
            public  byte[] CompressString(string input)
            {
                return CompressBytes(Encoding.UTF8.GetBytes(input));
            }
            /// <summary>
            
    /// Decompress a byte stream of a string that was formerly 
            
    /// compressed with the CompressString() routine with the ZIP algorithm.
            
    /// </summary>
            
    /// <param name="input">The buffer that contains the compressed
            
    /// stream with the string.</param>
            
    /// <returns>Returns the decompressed string.</returns>
            public string DecompressString(
                byte[] input)
            {
                return Encoding.UTF8.GetString(DecompressBytes(input));
            }

            /// <summary>
            
    /// 用压缩算法压缩字节
            
    /// </summary>
            
    /// <param name="input">需要压缩的字节</param>
            
    /// <returns>返回压缩的字节</returns>
            public  byte[] CompressBytes(byte[] input)
            {
                using (MemoryStream buf = new MemoryStream())
                using (ZipOutputStream zip = new ZipOutputStream(buf))
                {
                    Crc32 crc = new Crc32();
                    zip.SetLevel(9);    // 0..9.

                    ZipEntry entry = new ZipEntry(string.Empty);
                    entry.DateTime = DateTime.Now;
                    entry.Size = input.Length;

                    crc.Reset();
                    crc.Update(input);

                    entry.Crc = crc.Value;

                    zip.PutNextEntry(entry);

                    zip.Write(input, 0, input.Length);
                    zip.Finish();

                    // --

                    byte[] c = new byte[buf.Length];
                    buf.Seek(0, SeekOrigin.Begin);
                    buf.Read(c, 0, c.Length);

                    // --

                    zip.Close();

                    return c;
                }
            }

            /// <summary>
            
    /// Decompress a byte stream that was formerly compressed
            
    /// with the CompressBytes() routine with the ZIP algorithm.
            
    /// </summary>
            
    /// <param name="input">The buffer that contains the compressed
            
    /// stream with the bytes.</param>
            
    /// <returns>Returns the decompressed bytes.</returns>
            public  byte[] DecompressBytes(
                byte[] input)
            {
                using (MemoryStream mem = new MemoryStream(input))
                using (ZipInputStream stm = new ZipInputStream(mem))
                using (MemoryStream mem2 = new MemoryStream())
                {
                    ZipEntry entry = stm.GetNextEntry();
                    if (entry != null)
                    {
                        byte[] data = new byte[4096];

                        while (true)
                        {
                            int size = stm.Read(data, 0, data.Length);
                            if (size > 0)
                            {
                                mem2.Write(data, 0, size);
                            }
                            else
                            {
                                break;
                            }
                        }
                    }

                    using (BinaryReader r = new BinaryReader(mem2))
                    {
                        byte[] c = new byte[mem2.Length];
                        mem2.Seek(0, SeekOrigin.Begin);
                        r.Read(c, 0, (int)mem2.Length);

                        return c;
                    }
                }
            }

     

    欢迎大家交换意见,欢迎拍砖。

     

    转载于:https://www.cnblogs.com/hangwq/archive/2012/11/21/2781612.html

    展开全文
  • Hi,How are you doing? 我是职场编码(CodeVoc)。 在E000中,我们介绍了Node.js、Ruby、Electron等工具下载安装。 这期,给你演示一下由...它可以选择待写入的目标文件,选择文件后,文件路径会显示在单行..

    Hi,How are you doing?

    我是职场编码(CodeVoc)。

    在E000中,我们介绍了Node.js、Ruby、Electron等工具下载安装。

    这期,给你演示一下由Electron联合Ruby制作的小工具。

    借助Electron官方Demo,我们很容易制作一个工具展示平台。

    点击“View Demo”会弹出我们的工具界面。

    一、项目需求

    这个工具的主要目的是为了把文字内容写入Excel表格。

    它可以选择待写入的目标文件,选择文件后,文件路径会显示在单行输入框内。

    点击“写入”按钮,会打开Excel文件,在A1单元格显示我们写入的文字内容。

    二、界面设计

    案例网页由head、body两部分组成,他们都写在html封闭标签内部。

    <html>
        <head>
            <title></title>
        </head>
            <style type="text/css">
            </style>    
        <body>
            <script type="text/javascript">
            </script>
        </body>
    </html>

    网页标题写在<title></title>标签中间。

    html组件写在<body></body>标签中间。

    css样式写在<style></style>标签中间。

    javascript逻辑写在<script></script>标签中间。

    由此可见,

    <> </>用尖括号和反尖括号包裹的区域就是网页编程核心。

    在网页世界里,标签也具有属性。

    类、ID、类型等等,这些都是标签属性。

    标签属性和标签间隔一个空格,呆在尖角<>里。

    如,

    标签类:<class="">

    标签ID:<ID="">

    标签类型:<type="">

    标签名:<name="">

    标签值:<value="">

    标签提示信息:<placeholder="">

    html:

    html是网页的骨架结构,首先生成想要的组件。

    根据案例E001,我们需要1个标签,1个单行输入框,1个文本框,2个按钮。

    另外,还需要form表单标签、div标签进行空间排版设计。

    标签:标签内容

    单行输入框:<input>

    文本框:<textarea></textarea>

    普通按钮:<input type="button">

    文件选择按钮:<input type="file">

    布局标签:<form></form><div></div>

    css:

    我们想要对标签进行美化,首先需要选中标签。

    大多数情况,我们可以通过标签选择器选中标签。

    案例常用标签选择器有标签选择器、类选择器、ID选择器三种。

    标签选择器:标签名 { } ,即标签名 + 花括号 { }。

    ID选择器:# 标签ID名 , 标签ID名 { },即井号 + 标签ID名 + 花括号 { }。

    类选择器:. 标签类名 { },即点号 + 标签类名 + 花括号 { }

    在花括号内,我们就可以通过设置宽高,上下左右边距,颜色等属性值进行美化。

    请在四点前白后绿气泡某杺平台,关注“职场编码”查看源码。

    javascript:

    javascript简称“js”,用于设计交互操作,如点击按钮弹出一个文件选择对话框等等。

    在html阶段,我们通过<input id="input_line">生成单行输入框。

    在js阶段,我们通过document.getElementById('input_line')选中它。

    var input_line=document.getElementById('input_line')
    

    我们给它添加一个"change"事件,

    自然语言表述为当“input_file”标签发生变化时,将“input_file”的标签值作为参数1直接赋值给“input_line”标签。

    input_line.value=document.getElementById('input_file').files[0].path 
    

    接着,给ID为execute的标签添加一个单击事件,

    当鼠标单击execute按钮时,获取<textarea>标签值作为参数2。

    var input_word=document.getElementById('input_word').value
    

    继续,利用下方指令调用本地Ruby脚本,完成写入操作。

    const { spawn } = require('child_process')
    const ls = spawn('ruby', ['Ruby脚本完整路径',参数1,参数2])
    

    三、逻辑梳理

    => 基础语法

    引用Ruby标准库

    require "win32ole"

    创建双参数入口方法

    Write_in_excel(path,txt)

    接收控制台传双参

    Write_in_excel(ARGV[0],ARGV[1])

    => 对象模型

    本案例Excel根模型下有三层对象

    Application -> Workbook -> Worksheet -> Cells

    创建可视化Excel应用

    @eap=WIN32OLE::new("excel.application");@eap.visible=true

    打开工作簿

    ebk=@eap.workbooks.open(path) 

    执行txt写入cells(1,1)单元格操作

    ebk.worksheets(1).cells(1,1).value=txt

    欢迎关注四点前白后绿气泡某杺平台,关注“职场编码”查看源码。

    展开全文
  • 主要介绍了如何基于python把文字写入word文档,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 如何将1.txt中的整数升序排序写入hi.txt with open(‘1.txt’,‘r’) as f1: data=[line.strip() for line in f1.readlines()] data=’,’.join(data) data=data.split(’,’) data=[int(i) for i in data] data....

    如何将1.txt中的整数升序排序写入hi.txt

    with open(‘1.txt’,‘r’) as f1:
    data=[line.strip() for line in f1.readlines()]
    data=’,’.join(data)
    data=data.split(’,’)
    data=[int(i) for i in data]
    data.sort()
    data=’,’.join(map(str,data))
    with open(‘hi.txt’,‘w’) as f2:
    f2.write(data)

    展开全文
  • 从txt文件中读取一些文字数据,再将这些文字做成一张纹理,使用纹理贴图贴出来。、。、 opengl中怎么在内存中...又如何将string buf;中的内容放入此纹理中一起显示出来?? 求大侠指定一二 , 小弟不胜感激 !!
  • Hi,How are you doing? 我是职场编码(CodeVoc)。 在E000中,我们介绍了Node.js、Ruby、Electron等工具下载安装。 这期,给你演示一下由Electron联合Ruby制作的小工具。...它可以选择待写入文件类型,选择..

    Hi,How are you doing?

    我是职场编码(CodeVoc)。

    在E000中,我们介绍了Node.js、Ruby、Electron等工具下载安装。

    这期,给你演示一下由Electron联合Ruby制作的小工具。

    借助Electron官方Demo,我们很容易制作一个工具展示平台。

    点击“View Demo”会弹出我们的工具界面。

    一、项目需求

    这个工具的主要目的是为了把文字内容写入Excel表格、Word文档、Ppt演示文稿。

    它可以选择待写入文件类型,选择文件类型后,在文本框输入文字信息。

    点击“写入”按钮,依次打开Excel、Word、Ppt文件,显示我们写入的文字内容。

    二、界面设计

    【html】

    生成表单容器:<form></form>

    生成布局标签:<div></div>

    生成下拉选择按钮:<select id="select_name"><option></option></select>

    生成文本框:<textarea id="input_word"></textarea>

    生成普通按钮:<input type="button" id="execute">

    【css】

    关注四点前白后绿气泡某杺平台,搜索“职场编码”查看源码。

    【javascript】

    execute按钮添加单击事件

    execute.addEventListener("click",function(){获取参数1,获取参数2,调用})
    

    获取参数1

    var select_name=document.getElementById('select_name').value
    

    获取参数2

    var input_word=document.getElementById('input_word').value
    

    调用Ruby脚本

    const { spawn } = require('child_process')
    const ls = spawn('ruby', ['Ruby脚本完整路径',参数1,参数2])
    

    三、逻辑梳理

    => 基础语法

    引用Ruby标准库

    require "win32ole"

    创建主入口方法、分入口方法

    def Main(name,txt)  
    def New_excel(txt)    
    def New_word(txt)  
    def New_ppt(txt)    

    接收控制台传双参

    Main(ARGV[0],ARGV[1])

    对参数ARGV[0] => name进行判断,根据判断结果执行分入口方法

    case name       
    when "excel" then New_excel(txt)        
    when "word" then New_word(txt)        
    when "ppt" then New_ppt(txt)    

    => 对象模型

    创建可视化Excel、Word、Ppt应用

    eap=WIN32OLE::new("excel.application");eap.visible=true 
    wap=WIN32OLE::new("word.application");wap.visible=true    
    pap=WIN32OLE::new("powerpoint.application");pap.visible=true   

    新建Excel空白工作簿、Word文档、Ppt演示文稿\幻灯片

    ebk=eap.workbooks.add    
    wdc=wap.documents.add    
    pst=pap.presentations.add;psd=pst.slides.add(1,11)

    执行写入Excel单元格、Word段落、Ppt文本框操作

    ebk.worksheets(1).cells(1,1).value=txt
    wdc.paragraphs(1).range.text=txt
    psd.shapes(1).textframe.textrange.text=txt

    欢迎关注四点前白后绿气泡某杺平台,关注“职场编码”查看源码。

    展开全文
  • @eap.visible=true 打开工作簿 ebk=@eap.workbooks.open(path) 执行txt写入cells(1,1)单元格操作 ebk.worksheets(1).cells(1,1).value=txt 欢迎关注四点前白后绿气泡某杺平台,关注“职场编码”查看源码。
  • 我们在做表格时候,可以通过自带的功能,设置字体字号,那大家在学习编程时,有没有想过用编程去改变的呢?答案时肯定的!下面一起来看看这好玩的设置方法吧~功能描述:首先生成几个测试用的Excel文件,然后批量修改...
  • 请教下,我现在使用...这时我使用DrawText向空间写入文字,但是绘制文字时其背景色是白色的。 与我自绘的颜色渐变相冲突。 请教怎么把文字的背景色一样设置成颜色渐变的。 又或者DrawText能否设置文字背景色透明?
  • @wap.visible=true 打开、关闭Word文档,退出Word应用 wdc=@wap.documents.open(n) wdc.close @wap.quit 执行选定Word文字内容写入txt文件操作 wdc.content.select ​ pth_goal.puts(@wap.selection.text) 关注四点...
  • 我们在做表格时候,可以通过自带的功能,设置字体字号,那大家在学习编程时,有没有想过用编程去改变的呢?答案时肯定的!下面一起来看看这好玩的设置方法吧~功能描述:首先生成几个测试用的Excel文件,然后批量修改...
  • 一、项目需求 这个工具的主要目的是为了把文字内容写入Excel表格。 它可以选择待写入的目标文件,选择文件后,文件路径会显示在单行输入框内。 点击“写入”按钮,会打开Excel文件,在A1单元格显示我们写入的文字...
  • 一、项目需求 这个工具的主要目的是为了把Ppt文本框文字提取写入Word。 它除了可以选择源文件,还可以选择目标文件。 点击“执行”按钮,就可以把Ppt文本框文字提取写入Word。 二、界面设计 【html】 生成表单容器...
  • Hi,How are you doing? 我是职场编码(CodeVoc)。 在E000中,我们介绍了Node.js、Ruby、...这个工具的主要目的是为了把Ppt文本框文字提取写入Word。 它除了可以选择源文件,还可以选择目标文件。 点击“执行”..
  • Hi,How are you doing? 我是职场编码(CodeVoc)。 在E000中,我们介绍了Node.js、Ruby、Electron等工具下载安装。 这期,给你演示一下由Electron联合Ruby制作的小...点击“写入”按钮,。 二、界面设计 【..
  • 真是个奇葩需求,搜了很多文章,没找到解决方案,只能来这里请教各位大神了!!! 需求详情:点击winform窗口上的提交按钮,将窗口上的textbox的值发送到某浏览器上的文本框
  • 现在面临的问题是我想知道这个error是什么时间被访客触发的并且触发error的内容是什么。...或者说,php如何做到当页面被触发指定内容的时候(比如error或者未能找到相应内容),记录触发时间进txt?
  • 需求:android端提交了图片和文字的信息到服务端,服务端如何判断文字和图片,并分别接收图片和文字信息,并将它们写入到数据库。..谢谢。
  • stm32是如何将配置从库函数调用一步一步到寄存器的?0. 前言1.综述1.1 流程2.正式开始2.1 LED库函数初始化2.2 GPIO_TypeDef2.3 GPIOA的访问方法2.4 GPIO_Init函数3.总结 0. 前言 在平时的学习和工作中,可能很少有...
  • 应用场景:有时需要测试插入数据库的记录来测试,所以就非常需要用到这些脚本。创建表:CREATE TABLE `tables_a` (`id` int(10) NOT NULL DEFAULT '0',`name` char(50) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=...
  • 写入400个数字后换一行:str+="\n" 总共400行 for(int i=0;i<400*400;i++) { strf.Format("%d ", number[i]);//注 这里%d后跟了个空格 str+=strf; if((i+1)%400==0) { str+="\n"; } ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 902
精华内容 360
关键字:

如何写入字