在运行时对齐控件时的卡住线
我有一个应用程序,用户可以在表格上拖动控件.但他们 重新要求我使用快照行,以使控件的对齐变得更加容易.我不知道Snep -to Lines以及如何实现它们 - 我已经看过: 我如何获得应用程序中的snap-to行(类似于vs中的东西)? 谢谢 bael 解决方案 在您的移动控制中,您可以通过分开然后乘以行宽度来调整Left和Top>: left = (left/10)*10; top = (top/10)*10; 它不是完美的,但是很简单.当然,由于控件没有MoveEnd事件,因此您必须跟踪MouseButton状态或类似的内容. 编辑:更好的实现将适当地围绕分区结果,因此134 = 130和136 =140. 其他解决方案 我也有同样的问题,我仍在寻找解决方案;这是我到目前为止所做的,它可能是您的解决方案 const grid = 12; private void MyControl_LocationChanged(object
18 2024-04-23
编程技术问答社区
Richtextbox行数
我正在开发C#中的文本编辑器,并且我正在尝试进行线路计数. private void updateNumberLabel() { Point pos = new Point(0, 0); int firstIndex = Document.GetCharIndexFromPosition(pos); int firstLine = Document.GetLineFromCharIndex(firstIndex); pos.X = ClientRectangle.Width; pos.Y = ClientRectangle.Height; int lastIndex = Document.GetCharIndexFromPosition(pos); int lastLine = Document.GetLineFromCharIndex(lastInd
16 2024-04-22
编程技术问答社区
C# Regex 匹配标签之间的任何文本,包括新行
这是我的正则: \[\[START\]\]\[\[OK\]\](.*?)\[\[END\]\] 我想获得[[START]][[OK]]和[[END]]的任何文本. 但是,当我的文本包含一些\r\n字符时,我的正则是不匹配的. 如何使它起作用? 解决方案 使用单线模式 Library/YD1HZCZS.ASPX#单线线 其他解决方案 我不确定这是否也适用于Regex'E,但是您可以尝试使用环境.Newline代替\ r \n.
12 2024-04-21
编程技术问答社区
使用C#和WPF在代码中画线
我正在尝试使用7个细分显示器创建数字时钟显示.我可以使用这样的代码在XAML中绘制行: 但是,当我尝试在代码(来自MainWindow())中进行操作时,它不起作用: Line line = new Line(); Thickness thickness = new Thickness(101,-11,362,250); line.Margin = thickness; line.Visibility = System.Windows.Visibility.Visible; line.StrokeThickness = 4; line.Stroke =
36 2024-04-17
编程技术问答社区
从文件中读取WORDS(不是char),没有空行的C语言|没有重复的。
嗨. 我需要在单词之间读取几个没有空行的文件.它们可以具有不同的布局,例如1.txt或2.txt: 1.TXT: treg hreger ig srg fre ig lre eg 2.txt: lregreg igregr kreggerg ereherh tershs hsehsteh asreh treshse 我该怎么做?如何以最快的方式计算单词数? 我只有以下代码: #include #include #include int main(){ FILE *fp; char palavra[50]="/0"; char *s; fp = fopen("1.txt","r"); if(fp == NULL){ puts("Open file failed\n"); exit(-1); } while
12 2024-04-10
编程技术问答社区
有什么方法可以找到从文件中读取的当前行的行号?
1)在C中有办法可以找到我们正在从文件中读取的行的行号. 2)我还想知道是否有另一种方法可以通过创建一个在每行中寻找EOF直到到达末端的循环以外的文件中的总数. 解决方案 1)在C中有办法可以找到我们正在从文件中读取的行的行号. 除非您从文件开头计算行,否则不会.您不能只是任意将自己定位在文件中,并知道您的文本行,除非文件本身告诉您的信息,否则您已经通过以前的通过文件创建了一种索引.通常的方法是在您从文件中处理行时积累线计数. 2)我还想知道是否有另一种方法可以通过创建一个在每行中寻找eof的循环,直到到达末端. . 否.您必须贯穿整个文件并计算行数.任何外部工具(例如wc)都是这样做的.您需要意识到不同的线路结束样式.根据您使用的读取文件的功能,您可能具有或可能没有自动newline翻译. 其他解决方案 您可以在线结束时计算它们的末端.当然,线结尾因平台而异. UNIX使用\ n,Mac使用\ r(或至少它们曾经使用),Windows使用\ r
16 2024-04-09
编程技术问答社区
为什么这段C代码比这段C++代码快? 获得文件中最大的一行
我有两个程序的两个版本,这些版本基本上是同一件事,在文件中获得最大的行,我有一个约为8000行的文件,我在C中的代码更为原始(OF课程!)比我在C ++中拥有的代码. C程序将运行大约2秒钟,而C ++中的程序需要10秒钟才能运行(两种情况我正在测试的同一文件).但为什么?我期望它需要相同的时间或更多的时间,但速度却少8秒! 我在C中的代码: #include #include #include #if _DEBUG #define DEBUG_PATH "../Debug/" #else #define DEBUG_PATH "" #endif const char FILE_NAME[] = DEBUG_PATH "data.noun"; int main() { int sPos = 0; int maxCount = 0; int cPos = 0;
36 2024-04-07
编程技术问答社区
用读写和lseek打印文件或stdin的最后10行
我正在研究尾部功能的实现,我只应该使用read(),write()和lseek()为I/O,到目前为止,我都有: int printFileLines(int fileDesc) { char c; int lineCount = 0, charCount = 0; int pos = 0, rState; while(pos != -1 && lineCount
28 2024-04-06
编程技术问答社区
BufferedReader.readLine()等待来自控制台的输入。
我正在尝试阅读控制台的文本行.线的数量未提前知道. BufferedReader.Readline()方法读取一行,但是在最后一行之后,它等待了控制台的输入.为了避免这种情况应该怎么办? 请参阅下面的代码段: public static String[] getLinesFromConsole() { String strLine = ""; try { // Get the object of DataInputStream InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String line = ""; while ((line = br.readLine()) != null) strL
16 2024-04-04
编程技术问答社区
在java中读取我的文件时,BufferedReader每隔一行就会跳过。
因此,我在读取包含我早期在代码中写入约会的文件的文件.我想筛选文本文件并在特定日期找到约会,并将其添加到arraylist中,但是当BufferedReader通过它时,它会跳过其他行... Heres My Code public ArrayList read(int checkDay, int checkMonth, int checkYear) { ArrayList events = new ArrayList(); BufferedReader in = null; String read; try { in = new BufferedReader(new FileReader("calendar.txt")); while ((read = in.readLine()) != null) { read = in.readLine();
46 2024-04-04
编程技术问答社区
在BufferedImage中画多条线
我试图在缓冲图上绘制水平和垂直线.它最终看起来像细胞网格.但是,当我运行代码时,我只看到两行:最左的线和最高行(即0.0到0的线,图像高度,图像的宽度至图像的宽度,0) : BufferedImage mazeImage = new BufferedImage(imgDim.width, imgDim.height, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = mazeImage.createGraphics(); g2d.setBackground(Color.WHITE); g2d.fillRect(0, 0, imgDim.width, imgDim.height); g2d.setColor(Color.BLACK); BasicStroke bs = new BasicStroke(2); g2d.setStroke(bs); // draw the black vertical and ho
24 2024-04-04
编程技术问答社区
在多个博列表中添加晶须(水平线)。
我需要将晶须(或水平线)添加到我的多个盒子图中. 您可以在这里找到我的数据集:换句话说,我正在绘制由性别(F和M)划分的三个变量(MAT,ITA和日志),以比较其盒子图.我需要在每个框图中的两个垂直线的末端添加一条水平线. 我正在使用GGPLOT2软件包,到目前为止我使用的代码是(此代码允许我在需要时创建框图,我只需要添加水平行): ggplot(newdata,aes(x=variable,y=value)) + geom_boxplot(aes(fill=Gender)) + xlab("Subject") + ylab("Quiz score") + ggtitle("Boxplots for quiz score and gender") + scale_fill_manual(values=c("pink","lightblue"),labels=c("Female","Male")) + theme(plot.title
16 2024-04-03
编程技术问答社区
如何计算直线和曲线的最近点? ...或曲线和曲线?
给定一条线的点和二次Bezier曲线,您如何计算它们的最近点? 解决方案 我只想给您一些提示,以便为q.b.curve//段: 为了获得足够快的计算,我认为您应该首先考虑为算法使用一种"边界框". 说P0是Q.B.曲线的第一点,P2第二点,P1控制点,而P3P4则是: : 计算P0,P1,P2到P3P4的距离 如果P0或P2是最近的点 - >这是P3P4曲线的最近点.结束:=). 如果p1是最近的点,而pi(i = 0或1)第二点是pipc和p3p4之间的距离,则是您寻求 air airs 的距离的估计值取决于您的需求. 如果您需要更具牙齿:计算P1',这是Q.B.Curve最接近P1的点:您发现它应用了t = 0.5的BQC公式. - >从pip1'到p3p4的距离是一个更准确的估计 - 但昂贵 - 请注意,如果由P1P1'相交P3P4定义的线,P1'是P3P4的QBC的最接近点. 如果p1p1'没有相交的p3p4,那么你就不幸了,你必须走困难... 现
20 2024-03-30
编程技术问答社区
在一个批处理文件中显示文本文件的行数
我正在尝试找到一个脚本,该脚本可以让我从批处理文件中的文本文件中显示" Linenumber#和Linenumber#以及行# - #"?我在此网站上找到了这个脚本. @echo off setlocal enabledelayedexpansion if [%1] == [] goto usage if [%2] == [] goto usage SET /a counter=0 for /f "usebackq delims=" %%a in (%2) do ( if "!counter!"=="%1" goto exit echo %%a set /a counter+=1 ) goto exit :usage echo Usage: head.bat COUNT FILENAME :exit 效果很好:)但是它抓住了文本文件顶部的行数.我希望能够在文本文件中显示某些行,以及范围. eg:我有一个带有30行的文本文件,我想显示1-4行; 7-11; 13;
22 2024-03-29
编程技术问答社区
批量文件: 从.txt文件中提取行,并将其格式化
我被困在批处理脚本上. 我有一个.txt文件,带有随机数的行,例如 alpha bravo charlie delta 我需要将这些行放入批处理文件中的变量: "alpha","bravo","charlie,"delta" 如果我可以写echo %selections%最后,"alpha","bravo","charlie,"delta"将被返回! 线的数量是可变的. 预先感谢! 解决方案 可以通过以下批处理代码完成此操作: @echo off setlocal EnableExtensions EnableDelayedExpansion set "Selections=" for /F "usebackq delims=" %%I in ("ListFile.txt") do set "Selections=!Selections!,"%%I"" rem Remove comma at beginning of the selectio
22 2024-03-29
编程技术问答社区
如何在FOR循环中忽略文本文件处理行中某一特定单词后的所有行?
我的问题是解决了列的问题,而不是使用skip=3来解决线条.这忽略了3条第一行.那么,在下面的示例中忽略第一个end word之后的所有行怎么办. 1121.19, 1638.66, 16.6098, -4.7339, -4.7339, 2.5, hash:0, -1, -1, -1, -1, 1888, 0, 0 971.597, 1815.17, 21.085, 1.39876E-006, 8, 4, hash:0, -1, -1, -1, -1, 1905, 0, 0 971.597, 1825.45, 21.085, 1.39876E-006, 8, 4, hash:0, -1, -1, -1, -1, 1905, 0, 0 end tcyc end mlop end lodm end slow end blok end 所以我想忽略所有不以我的基本格式的行: 971.597, 1825.45, 21.085, 1.39876E-006, 8, 4, hash:0
24 2024-03-29
编程技术问答社区
批量提取指定字词间的行的脚本
我有一个如下的日志文件. [星期二8月19日10:45:28 2014]本地/PLPLAN/PL/pl/giuraja@msad/2172/info(1019025) 从数据库的规则对象读取规则[PL] [星期二8月19日10:45:28 2014]本地/PLPLAN/PL/PL/GIURAJA@MSAD/2172/INFO(1013157) 使用[aif0142.rul]从用户[giuraja@msad]的接收命令[导入]与数据文件[sql] . . . . . 在用户[giuraja@msad]实例[1] 上明确活动 . . 我想提取以" [星期二的8月19日10:"开头的行,直到以"清晰的活动"开头,然后使用Windows批处理脚本输出到文件.我尝试了以下代码.它仅输出最后一行. @echo Off&setLocal enabledelayedExpansion set month_num =%
12 2024-03-29
编程技术问答社区
使用批处理文件将前6行复制到一个新的txt文件中
我尝试了多种不同的方式,无法正确处理. 我在不同文件夹中有许多文本文件,因此我想将输入文件作为变量: *.txt(只需使用与BAT文件同一文件夹中的任何txt文件). 我需要复制前6行并将它们粘贴到一个新的TXT文件中. 我想命名(但不是必需的)sample_original_txt_file_name eg: Input = text01.txt Output = SAMPLE_text01.txt (this would contain the first 6 complete lines from text01.txt) 我很感谢任何帮助,因为我的头现在需要针对墙壁太多的缝线... 解决方案 以下对我有用: @ECHO OFF IF "%~1" == "" (ECHO Usage: %~nx0 filemask& GOTO :EOF) FOR /F "delims=" %%I IN ('DIR /B %1') DO (
20 2024-03-29
编程技术问答社区
批量脚本提取两个指定行之间的行
我有一个文本文件,想使用Windows批次脚本提取两个指定行之间的所有行. line1:!file_format = ads line2:!版本= 1.0 . . linex:'parent | child | isprimary | * *** (线以'and is Long) . . liney:!propertyArray = COST CENTER(线以!) . . linez. 我想在linex和line之间提取所有行,然后将其输出到另一个文件中. 以下代码正确找到起始行.但是它只是删除了我想要停止脚本并输出文件其余部分的行(行y). 输出是从X线到线Z的输出. . @for /f "tokens=1 delims=[]" %%a in ('find /n "'Parent|Child"^
18 2024-03-29
编程技术问答社区
批量文件删除文本文件的前3行
作为标题表示,我需要一个批处理文件才能删除文本文件的前3行. 例如: A B C D E F G 在此示例中,我需要a,b和c与线一起删除 解决方案 这应该做 for /f "skip=3 delims=*" %%a in (C:\file.txt) do ( echo %%a >>C:\newfile.txt ) xcopy C:\newfile.txt C:\file.txt /y del C:\newfile.txt /f /q 将删除前3行重新创建文件. 要保持用户更新,您可以在命令提示符中以vbscript样式或输出消息集成在批处理文件中的消息. @echo off echo Removing... for /f "skip=3 delims=*" %%a in (C:\file.txt) do ( echo %%a >>C:\newfile.txt ) >nul echo Li
24 2024-03-29
编程技术问答社区